| 연산자 | 설명 |
| [] []= | 요소 참조, 요소 설정 |
| ** | 누승 (2**3 = 8) |
| ! ~ + - | 단항연산자 (역논리, bit NOT, unary plus, unary minus) |
| * / & | 곱셈, 나눗셈, 나머지 |
| >> << | shift |
| & | bit AND |
| ^ | | bit XOR, bit OR |
| <= < > >= | 비교 연산자 |
| <=> == === != | 동등 비교 |
| =~ !~ | 패턴 매칭 |
| && | 논리곱 |
| || | 논리합 |
| .. ... | 범위 |
| ? : | 삼항 연산자 |
| = %= ~= /= -= += |= &= >>= <<= *= &&= ||= **= | 대입 연산자 |
| defined | 심벌이 정의되었는지 검사 |
| Not | 역논리 |
| or and | 논리 구성 |
| if unless while until | 표현식 제한자 |
| begin end | 블록 표현식 |
class Fixnum
def +(other)
return self * other
end
end
a, b = 1, 2 # a -> 1, b -> 2
a, b = b, a
a, b = 1, 2, 3 # a -> 1, b -> 2 a, b, c = 1, 2 # a -> 1, b -> 2, c -> nil a = 1, 2, 3 # a -> [1, 2, 3] (array) a, *b = 1, 2, 3 # a -> 1, b -> [2, 3] (array)
defined? 1 -> "expression" defined? dummy -> nil defined? printf -> "method" defined? $_ -> "global variable" defined? a = 1 -> "assignment"
if song.artist == "Gillespie" then handle = "Dizzy" elsif song.artist == "Parker" then handle = "Bird else handle = "unknown" end
print if a == 10
kind = case year when 1850..1889 then "Blues" when 1890..1909 then "Ragtime" when 1910..1929 then "New Orleans Jazz" when 1930..1939 then "Swing" when 1940..1950 then "Bebop" else "Jazz" end
leap = case when year % 400 == 0 then true when year % 100 == 0 then false else year % 4 == 0 end
a = b = 0 while a <= 10 b += a end # b -> 55
a = 0 print a += 1 while a < 10
for i in 1..10 do print i end
(1..10).each do |i| print i end