✨
unless文(Ruby)
はじめに
今回は条件分岐の一つであるunless文について説明します。
こちらも使う可能性のある表現なので、しっかり見ていきましょう!
unless文
Rubyにはifと反対の意味を持つunlessがあります。
何が反対なのかというと、条件式が偽の場合だけ処理を実行する点です。
if文で否定の条件を書いているときは、unless文に書き換えられます。
たとえば次のようなコードがあったとします。
status = 'error'
if status != 'ok'
'何か異常があります'
end
#=> "何か異常があります"
これはunlessを使って次のように書き換えることができます。
status = 'error'
unless status == 'ok'
'何か異常があります'
end
#=> "何か異常があります"
elseを使って条件が偽でなかった場合(つまり真だった場合)の処理を書くこともできます。
status = 'ok'
unless status == 'ok'
'何か異常があります'
else
'正常です'
end
#=> "正常です"
if+否定条件は、unless+肯定条件に書き直すことができるものの、必ず書き直さなければいけないわけではありません。
if文のほうが読みやすいと思った場合は、if+否定条件のままにしておいても大丈夫です。
unless使う時は頭では、否定して考えるので、ややこしくなる場合もありますが、
ぱっと見unlessだと気づくので、使い分けるのが大事ですね!
さいごに
今回はunless文について説明しました。
このように基礎から派生した学習から応用も身に付くので、しっかり見ていきます!
次回はcase文です!
Discussion