Menu
Coddy logo textTech

ネストした If - Else

CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 24/88。

2つを超える条件を確認する必要がある場合はどうすればよいでしょうか?if-else文を別のif-else文の中に配置できます。これはネストと呼ばれ、複数の判断ポイントに対応できます。

score = 85

if score >= 90
  puts "Grade: A"
else
  if score >= 80
    puts "Grade: B"
  else
    puts "Grade: C"
  end
end

Rubyは最初の条件を確認します。それがfalseの場合、別のif-elseが待機しているelseブロックに進みます。これにより、決定の連鎖が作られ、それぞれの決定によって可能性がさらに絞り込まれます。

Rubyでは、elsifを使うことで、よりすっきりと記述できます。elsifelseifを1つのキーワードにまとめたものです。

score = 85

if score >= 90
  puts "Grade: A"
elsif score >= 80
  puts "Grade: B"
else
  puts "Grade: C"
end

どちらの例も同じ結果になりますが、elsifを使うとコードの入れ子を減らし、読みやすくできます。必要な数だけelsif条件を連鎖させることができ、最後のelseは、それまでの条件に一致しないものをすべて処理します。

challenge icon

チャレンジ

簡単

次の変数が与えられています。

temperature = 15

ifelsifelseを使用して温度を分類し、適切なメッセージを出力する天気 advisory システムを作成してください。

  • temperature30以上の場合、Hot - Stay hydratedを出力する
  • temperature20以上の場合、Warm - Enjoy the dayを出力する
  • temperature10以上の場合、Cool - Bring a jacketを出力する
  • temperature0以上の場合、Cold - Bundle upを出力する
  • それ以外の場合、Freezing - Stay indoorsを出力する

温度に一致する単一のメッセージだけを出力してください。

自分で試してみよう

temperature = 15

# TODO: 温度を分類するために、以下にコードを書いてください
# if、elsif、else を使って適切な天気に関する注意メッセージを出力してください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Rubyオンラインコンパイラ