if文による条件分岐
if x < 5 then statement1 end unless x >= 5 then statement1 end if x < 5 then statement1 else statement2 end unless x < 5 then statement2 else statement1 end statement1 if y == 3 statement1 unless y != 3 x = if a > 0 then b else c end x = unless a <= 0 then c else b end
ここに示した例は、ifとunlessの両方の式がまったく同じ動作をする。
キーワードthenは最後の(式思向の)形式を除いて省略できる。
装飾子の形式では、else節を使うことはできない。
rubyのcase文による条件分岐
case "This is a cahracter string." when "some value" print "Branch 1\n" when "some other value" print "Branch 2\n" when /char/ print "Branch 3\n" else print "Branch 4\n" end
このコードでは、「Branch 3」が出力される。
最初に、比較対象の式が文字列"some value"または"other value"どちらかと一致するかどうか判定される。
しかしながら、どちらも条件成立しないので、比較処理は次に進む。
3番めの条件として、比較対象の式の中にパターンが存在するかどうかを判定する。
このパターンは式の中に存在するので条件が成立し、3番めのprint文が実行される。
else節は常に、先行する条件がどれも成立しなかった場合、デフォルトの処理を実行する。
比較対象の式が整数だった場合は、条件の値を整数の範囲にする事(2..5等)もできる。
この場合、式がその整数の範囲内にあるかどうかを判定できる。
いずれの場合も、最初に条件が成立した分岐の文が実行される。