エンコーディング表示
__ENCODING__
print(“endoding = “, __ENCODING__)
数値リテラル
123
-123
123456789 123_456_789 これもOK
n進数表記
2進 0b10101
8進 052
16進 0xa5
実数
小数点の表記 1.2
指数表記 12e-1
指数表記 0.12e+1
有理数(分数) !!!これははじめてみたな、、
1/3r 3分の1
複素数
42i 虚部が42
5+42i 実部が5 で虚部が42
文字数リテラル
シングルとダブルがあるが
ダブルクォーテーションだと、式展開と\tとか\nが使える。
式展開 #{xxxx}
中括弧の中身がrubyのコードとして実行される。
name=”ABC”
“My name is #{name}”
シンボル
:をつけた変数?
後ほど調べる。
ビット/シフト演算
Cと同じ
代入
a=1
a,b=1,2
多重代入
a,b,c=1,2
a -> 1
b -> 2
c -> nil
a,b = [1,2] 配列も可能
【注意】++、–はないので x+=1でやる。
条件文(if – elsif – else – end)
a = 2;
if a==1
puts(“IF”)
elsif a==2
puts(“ELSIF”)
else
puts(“ELSE”)
end
swithcもどき
a = ARGV[0].to_i
case a
when 0
puts “0”
when 1
puts “1”
when 2, 3
puts “2か3”
else
puts “else”
end
繰り返し
a = ARGV[0].to_i
case a
when 0
puts “0”
when 1
puts “1”
when 2
puts “2”
else
puts “else”
end
i=1
while i<=10
puts i
i+=1
end
i=0;
while true
i+=1;
puts i
if i>10
break;
end
end
i=0
while i < 10
i+=1;
if i % 2 == 0
puts i;
next;
end
end
for obj in [“AAA”,”BBB”,”CCC”]
puts obj;
end
for i in 0…10
puts i;
end
[“A”,”B”,”C”].each do |str|
puts str
end