• Ruby: 2.0.0p353 (2013-11-22) [x64-mingw32]

if

if 条件式1 then
  処理
elseif 条件式2
end

普通 then は省略する. if と反対の役割の unlesselseif に相当するものがない.

後置 if と後置 unless というのがあって, else の処理がなければ簡潔に書ける:

処理 if 条件式
処理 unless 条件式

case

case 比較対象
when 'sun'
  処理1
when 'mon', 'wed', 'fri'
  処理2
else
  処理3
end

when には複数の値を与えられる. 比較対象は書かずに when に条件式を書いても大丈夫. 比較は比較対象の === (比較対象に対する所属性の判定メソッド) で行われる.

比較対象を省略した場合:

case
when 条件式1
  処理1
when 条件式2
  処理2
end

while, until

while は条件式が真であるかぎり処理を繰り返し実行する:

while 条件式
  処理
end

while とは逆に until は条件式が真となるまで処理を繰り返し実行する:

until 条件式
  処理
end

後置 while, 後置 until もある:

処理 while 条件式
処理 until 条件式

for

for は each メソッドをもつオブジェクトの場合に使える. each メソッドなどを使ったほうが手っ取り早いのでふつうはあまり使わない.

配列の場合:

for i in [1, 2, 3]
  // i が値
end

ハッシュの場合:

for i in {a: 1, b: 2}
  // i[0] がキー
  // i[1] が値
end

for k,v in {a: 1, b: 2}
  // k がキー
  // v が値
end

任意の回数繰り返す処理は Integer クラスの times メソッドが便利. 下記の場合 10 回処理が繰り返される:

10.times do
  処理
end

loop

loop は無限ループ:

loop do
  処理
end

loop や for, each などの繰り返しを抜けたいときは break を呼び出す. 次の繰り返しに行きたいときは next. もう一度同じ繰り返しをやり直したいときは redo.