【Ruby】unless 修飾子の使い方
[環境]
ruby 2.6.5
unless は if と反対で、条件式が偽の時に then 以下の式を評価します。unless 式にelsif を指定することはできません。 右辺の条件が成立しない時に、左辺の式を評価してその結果を返します。条件が成立すれば nil を返します。
irbで実験をした
aに1を代入、bにnilを代入すると...、aが返ってくる
$ irb irb(main):001:0> a = 1 => 1 irb(main):002:0> b = nil => nil irb(main):003:0> a unless b => 1
引き続き、b = falseを代入すると...、同じくaが返ってくる
irb(main):004:0> b = false => false irb(main):005:0> a unless b => 1
最後に、b = 2を代入すると...、nilが返ってくる
irb(main):006:0> b = 2 => 2 irb(main):007:0> a unless b => nil
参考サイト