こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Rubyのunless文について
- unless文とは
- unless文を使ったサンプルプログラム
と、この記事で丁寧に解説していきます。
前提条件
この記事で使っているRubyのバージョンは、2.6.6です。
Rubyのインストールは、下の記事をご参考ください。
unless文とは
unless文とは、一言で書くとif文の逆です。
どういうことかを詳しく書いていきます。
if文は下のように書きます。
1 2 3 |
if 条件 条件がtrueだった場合行われる処理 end |
unless文では、下のように書きます。
1 2 3 |
unless 条件 条件がfalseだった場合行われる処理 end |
if文は条件式がtrueであるかどうかでしたが、unless文はfalseかどうかで判定しています。
unless文は、判定する条件がif文の逆なんです。
また、unless文はif文と同じようにelseも使うことができます。
なので
1 2 3 4 5 |
unless 条件 条件がfalseだった場合行われる処理 else 条件がtrueだった場合行われる処理 end |
このような条件分岐をすることができます。
ちなみに上記をif文で書くと下記になります。
1 2 3 4 5 |
if 条件 条件がtrueだった場合行われる処理 else 条件がfalseだった場合行われる処理 end |
unless文の注意点が1つあります。
それはif文で以下のように書く
1 2 3 4 5 6 7 |
if 条件式1 条件式1がtrueだった場合 elsif 条件式2 条件式2がtrueだった場合 elsif 条件式3 条件式3がtrueだった場合 end |
のようなelsifがunless文にはない、という点です。
いくつも条件分岐がある場合はunless文ではなく
- if文
- case文
を使いましょう。
では、次の章で実際に使ってみます。
unless文を解説するプログラムの概要
unless文を解説するプログラムでは、
- unless文
- if文
の2パターンで同じ条件を判定し、同じ結果になるかどうかを表示させて確認します。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# unlessサンプル puts '■unless文の結果' number1 = 4 unless number1.odd? puts "#{number1}は、偶数です" else puts "#{number1}は、奇数です" end puts puts '■if文の結果' if number1.odd? puts "#{number1}は、奇数です" else puts "#{number1}は、偶数です" end |
条件の判定に使っているodd?メソッドは、数字が奇数かどうかを判定できるメソッドです。
詳しくはこちらの記事をご参考ください。
実行結果
実行して本当に判定できているかを確認します。
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
■unless文の結果
4は、偶数です■if文の結果
4は、偶数です
unless文もif文もどちらも同じ結果が表示されていることが確認できました!
まとめ:unless文を使ってみよう!
以上がunless文についての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント