if文が戻り値を返す
Rubyのif文は最後に評価された式を返します。
この性質を利用して変数にifで最後に評価された値を格納できたりします。
早速確認してみます。
n = 11 number = if n > 10 '10より大きい' else '10以下' end puts "#{number}"
n = 11なので’10より大きい’がnumberに格納されるので下記通りの出力されます。
10より大きい
後置ifを使う
if文(特に複雑な条件がない場合)は下記のようなコードになります。
例えば、お肉屋さんが29日にポイント3倍キャンペーンをしていたとするとこんな感じになる。
irb(main):003:0* point = 50 いつも通りなら50ポイント獲得予定 => 50 irb(main):004:0> day = 29 => 29 irb(main):005:0> if day == 29 irb(main):006:1> point *=3 irb(main):007:1> end => 150
これを後置if文によって書き換えるとこうなる。
irb(main):001:0> point = 50 => 50 irb(main):002:0> day = 29 => 29 irb(main):003:0> point *=3 if day ==29 => 150
最後に
この記事はプロを目指す人のためのRuby入門から学んだことを参考にして内容が作られています。
Rubyを本格的に勉強したいと考えられている方は是非、下記リンクより本を購入して勉強しましょう!