연산자 | 설명 |
[] []= | 요소 참조, 요소 설정 |
** | 누승 (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