<この記事はこんな人におすすめ>
- 複数の条件分岐について知りたい人
- elseとelsifの使い方を知りたい人
- Ruby入門者
<この記事でわかること>
- 複数条件分岐について
- elseとelsifを使うときの基本事項
「else」と「elsif」を使った複数条件分岐
条件が成り立たない場合の処理
if文は条件が成り立つと内部の処理を行いますが、成り立たなかった場合に別の処理を実行する方法があります。
それが「else」です。「else」を使った処理の基本事項について、以下にまとめておきます。
- ifの条件式が成り立たない場合に別の処理を行うのが「else」
- if…else…endという形で記述する。「もし〇〇なら、〇〇を行う。そうでなければ〇〇を行う。」
- インデントでコードを読みやすくする
if…else…endの書き方
次のような形で、if…else…end文は記述します。if文が成り立つと処理1が成り立ち、成り立たないと処理2が実行されます。
if 条件式 処理1(条件式がtrueの時、実行) else 処理2(条件式がfalseの時、実行) end
次のサンプルコードをみてください。
「score」に「60」を代入してあります。もしスコアが80点より大きいなら「よくできました」と表示、もし80点以下なら「がんばりましょう」と表示させるプログラムです。
score = 60 # 条件式が成り立たない場合に「がんばりましょう」と出力されるように書き換えてください if score > 80 puts 'よくできました' else puts 'がんばりましょう' end
「elsif」で条件を追加する
「if」と「else」だけでなく、さらに条件を追加したい場合、「elsif」を使います。
「elsif」を用いると「もし〇〇だったら、〇〇を行う。そうでなくもし〇〇なら、〇〇を行う。何でもなければ〇〇を行う。」という条件分岐ができます。
「elsif」を使う際の基本事項は次の通りです。
- 「elseif」ではなく「elsif」なので注意
- 「elsif」は必要な数だけ、並べることができる
- 複数の条件に合致したとしても、実行されるのは最初の条件のみ。(条件の順番に注意)
if…elsif…else…endの書き方
次のような形で、if…elsif…else…end文は記述します。if文が成り立つと処理1が実行、成り立たないと処理2が実行、それでも成り立たなければ、処理3が実行されます。
if 条件式1 処理1(条件式1がtrueの時、実行) elsif 条件式2 処理2(条件式1がfalse、条件式2がtrueの時、実行) else 処理3(条件式1も条件式2もfalseの時、実行) end
次のサンプルコードをみてください。
「score」に「73」を代入しています。スコアが80より大きいなら「よくできました」、スコアが60より大きいなら「まずまずです」、スコアが60以下なら「がんばりましょう」と表示するプログラムです。
score = 73 # scoreの値が60より大きい場合に「まずまずです」と出力されるように書き換えてください if score > 80 puts "よくできました" elsif score > 60 puts "まずまずです" else puts "がんばりましょう" end
まとめ
今回は「else」と「elsif」を使った複数条件分岐について確認しました。複数の条件分岐はよく出てくるので、マスターしておきたい内容ですね。