반응형
루비에서 좌우 항의 크기를 반환하는 연산자는 <=>
<=>
연산자는 좌항과 우항의 크기를 비교해서 좌항이 크면 1을, 우항이 크면 -1을, 값이 같으면 0을 반환합니다.
10 <=> 20 # -1
10 <=> 10 # 0
10 <=> 5 # -1
배열끼리의 연산
루비는 합집합, 교집합, 차집합 연산이 가능합니다.
a = [ 1, 2, 3, 4, 5 ]
b = [ 2, 4, 6, 8 ]
a & b # 교집합 : [2, 4]
a | b # 합집합 : [1, 2, 3, 4, 5, 6, 8]
a - b # 차집합 : [1, 3, 5]
루비에는 자동 증감 연산이 없다
루비에는 대부분의 언어에서 제공하는 자동 증감 연산자(++, -- 등)가 없습니다.
특별한 경우가 아니면 += 1 / -= 1
을 사용해 증감을 하게 됩니다.
조건문
루비는 if ... elif ... else
형태의 조건문을 갖고 있습니다.
한 가지 특이한 점은 if (!조건)
형태의 조건문unless ... else
도 있다는 것입니다.
그리고 루비의 특징으로 인해 조건에 괄호를 붙일 필요가 없습니다.
a, b, c = 10, 20, 10
if a > b # b가 더 크므로 false
puts "a is bigger than b"
elsif b == c # 값이 다르므로 false
puts "b and c is same"
else
puts "if statement failed!" # 결과
unless a > b # b가 더 크므로 false. unless는 false일 때 실행됨
puts "a is bigger than b..?" # 결과
else
puts "b is bigger than a..?"
분기 조건문
타 언어에서 switch-case
로 제공되는 기능을 루비에서는 case-when
이라는 예약어로 제공합니다.
또한 해당 구문이 끝나도 다음 명령으로 넘어가지 않습니다(명령 뒤에 break
가 불필요).
한 줄로 축약할 경우, when
뒤에 then
이 필요합니다.
v = "apple"
case v
when "apple" then puts "iphone" # 결과
when "banana" then puts "banana phone"
else puts "no phone"
end
'개발 > Ruby on Rails' 카테고리의 다른 글
Ruby : 기초(6) 클래스 (0) | 2020.03.14 |
---|---|
Ruby : 기초(5) 메소드 (0) | 2020.03.14 |
Ruby : 기초(4) 해시와 심볼 (0) | 2020.03.14 |
Ruby : 기초(3) 반복 (0) | 2020.03.13 |
Ruby : 기초(1) 변수 (0) | 2020.03.13 |