rubyに関する記事一覧→ rubyのまとめ
だいたいの言語って ifって文ですよね?、でもrubyでは ifも式なんです、caseも式なんです
if式ってなんやねん!?
って感じですが、まぁ論より証拠
puts( if true then 100 end )
を実行すると 100 と表示されます
つまり trueだった場合その中の処理が実行され
一番最後の処理の戻り値が if式の結果 として返ってくるのです
もちろん、else や elsif が加わった場合も同じです
puts( if false then 100 else 200 end )
これなら 200になります
caseも同じく
val = 2 puts( case val when 1 'a' when 2 'b' when 3 'c' else 'z' end )
val に 2 がセットされているので表示されるのは b になります
今回、if式とcase式を紹介しましたが、実は他にもrubyの制御構造は戻り値を持つものが多いのです
puts( (100 if true) )
100 が表示される
puts( (false ? 100 : 200) )
200 が表示される
puts( unless false 100 end )
100 が表示される
c = 0 puts( while c += 1 break(c) if (c > 10) end )
11 が表示される
など、他にもまだまだ有ります、もし興味を持ったのなら
もっと詳しい内容 Rubyリファレンスマニュアル → 制御構造 を参照してください