06.制御構文

ループ

for文

for var in 0..2 do

print "he"

end

while文

a = 10;

while(a>1)do

a=a-1

print "-"

end


each文

range=1..3

range.each do |val|

print val

end

### 第一引数のファイルを読み出して、行番号と中身を表示

File.open(ARGV[0]) { |f|

f.each_with_index { |line,num|

print "#{num} : #{line}"

}

}

times文

10.times do

print "a"

end

upto文

0.upto(9) do

print "b"

end

downto文

9.downto(0) do

print "c"

end

step文

3.step(28,3) do |val|

print "#{val}\n"

end

loop文

s=0;

loop do

s += 1

print "-"

break if(s>10)

end

条件分岐

if文

if(a==10)then

:

end

if(a==10)then

:

else

:

end

if(a==10)then

:

elsif(a==20)then

:

else

:

end

※反対の意味を持つ unless もある

case文

a = 10

case a

when 10

xxx

when 20,30

xxx

else

xxx

end

その他

break

呼び出されたブロックから抜ける

next

呼び出された行以降をskipしてループの先頭に戻り、ループ条件を1つ進める

redo

呼び出された行以降をskipしてループの先頭に戻るが、ループ条件は進まない