Ruby入門|elseとelsifで複数条件分岐

<この記事はこんな人におすすめ>

  • 複数の条件分岐について知りたい人
  • 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」を使った複数条件分岐について確認しました。複数の条件分岐はよく出てくるので、マスターしておきたい内容ですね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA