【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

参考サイト

docs.ruby-lang.org