1. 프로그래밍 언어 Ruby
・ 프로그래밍 언어 루비 공식 홈페이지에는 아래와 같이 설명되어있습니다.
1995년 일본의 유키히로 마츠모토 씨가 개발했습니다. 간결함과 생산성을 강조한 동적인 오픈소스 프로그래밍 언어이며, 우아한 문법으로 자연스럽게 읽히고 쓰기 편한 프로그램을 만들 수 있다고 합니다.
・ 루비는 순수한 객체 지향 프로그래밍 언어이며, 심지어, 루비 코어 코드 부분도 변경하여 사용할 수 있습니다.
・ 가장 최신 버전은 19년 1월 30일에 릴리스 된 2.6.1 버전입니다.
2. 루비의 기본 문법
・ 대부분 문장 끝에 세미콜론을 붙이지 않습니다.
・ 또한, TAB을 사용하기보다는 스페이스 2번을 사용하여 구분합니다.
1) 주석
# 한 줄 주석
=begin
Ruby에서 여러 줄의 주석을 사용할때는
begin과 end를 사용합니다.
=end
2) 변수
・ String, Integer 등의 타입을 선언하지 않고, 필요한 변수에 대입 하시면, 해당하는 타입으로 자동으로 적용됩니다.
・ 로컬변수, 인스턴스 변수, 클래스 변수, 상수, 글로벌 변수는 다음과 같이 표현합니다.
# 로컬변수 : 소문자로 작성
bellstone
# 인스턴스 변수 : 변수명 앞에 @
@bellstone
# 클래스 변수 : 변수명 앞에 @@
@@bellstone
# 글로벌 변수 : 변수명 앞에 $
$bellstone
# 상수 : 대문자로 작성
BELLSTONE
3) 데이터 표시 방법
・ 테이터표시 방법은 print / puts / p입니다.
# 출력 후 개행이 되지않습니다.
print "bellstone"
# 출력 후 개행이 됩니다.
puts "BellStone"
# 출력 후 개행이 되고 데이터 타입을 확인할 수 있도록 표시 됩니다.
p "BELLSTONE"
p 123456789
>>>>>>>>>>실행결과<<<<<<<<<<
bellstoneBellStone
"BELLSTONE"
1234567889
4) 산술 연산자
・ 산술 연산자는 +, -, *, /, %, **입니다.
a = 1 + 2 # 더하기 a = 3
b = 2 - 1 # 빼기 b = 1
c = 3 * 4 # 곱하기 c = 12
d = 4 / 2 # 나누기 d = 2
d = 4 % 2 # 나머지 d = 0
f = 2**2 # 지수 f = 4
5) 비교 연산자
・ 비교 연산자는 ==, !=, >, <, <=, >=, <=>, ===, .eql, .equal? 입니다.
#a<=>b 일 때
#a>b일 경우 return 1
#a<b일 경우 return -1
#a=b일 경우 return 0
puts 10 <=> 1
puts 1 <=> 10
puts 1 <=> 1
>>>>>>>>>>실행결과<<<<<<<<<<
1
-1
0
・ == / === / .equal? 은 조금씩 다른데, ==은 동일한 값, ===은 소속성, .equal은 동일한 오브젝트를 판별합니다.
blog_name = "BELLSTONE"
name_blog = "BELLSTONE"
puts blog_name.object_id #=>70175517429840
puts name_blog.object_id #=>70175517429800
puts blog_name == name_blog #=>true
puts blog_name === name_blog #=>true 같은 String이기 때문에!
puts blog_name.equal?name_blog #=>false
name_blog = blog_name
puts blog_name.object_id #=>70320501444140
puts name_blog.object_id #=>70320501444140
puts blog_name == name_blog #=>true
puts blog_name === name_blog #=>true
puts blog_name.equal?name_blog #=>true
6) 메서드
・ 메서드는 def 메서드 이름 end 형식으로 끝납니다.
・ 메서드 명은 영어를 사용하며, 대문자를 사용하지 않고 _를 사용하여 구분합니다.
・ True와 False를 나타내는 메서드에는 ?를 붙입니다.
def blog_name
puts "bellstone"
end
blog_name #=> bell stone
def is_blog_name?(blog_name)
if blog_name == "BELLSTONE"
return true
end
return false
end
blog_name = "bellstone"
puts is_blog_name?(blog_name) #=> false
7) 해쉬
・ 해쉬는 {key : value, key : value} 형식입니다. hash에는 fetch / store 등 메서드가 있습니다.
・ 문자열을 입력할 경우에는 ""로 표현합니다.
hash = {Homepage:"https://itbellstone.tistory.com/", Host:"BELLSTONE"}
puts hash #=>{:Homepage=>"https://itbellstone.tistory.com/", :Host=>"BELLSTONE"}
puts hash[:Homepage] #=>https://itbellstone.tistory.com/
puts hash.fetch(:Homepage) #=>https://itbellstone.tistory.com/
puts hash[:major] #=>nil
hash[:major] = "ECONOMIC"
puts hash[:major] #=>ECONOMIC
hash.store(:job, "developer")
puts hash[:job] #=>developer
3. 끝!
・ 루비에 대해서 아직 공부하고 있기 때문에, 개발을 해나가면서 추가/수정하도록 하겠습니다.
・ 그럼 끝!
'IT > RUBY' 카테고리의 다른 글
Visual Studio Code, 루비를 편리하게 사용하는 방법 (0) | 2019.04.11 |
---|---|
Ruby On Rails, HTTP 헤더 값을 얻는 방법 (0) | 2019.04.10 |
Ruby On Rails, 테이블 생성하기 (0) | 2019.04.09 |
Ruby On Rails, 서버 강제 종료 방법 (0) | 2019.04.08 |
Ruby On Rails, Devise를 이용한 회원관리! (0) | 2019.04.05 |