If - Else
CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 22/88。
プログラムに2つの異なる処理経路のどちらかを選択させる必要がある場合があります。elseキーワードを使うと、if条件がfalseの場合に何が起こるかを指定できます。
age = 15
if age >= 18
puts "You can vote!"
else
puts "You're too young to vote."
endこの例では、age は15なので、条件 age >= 18 は偽となり、Rubyは最初のブロックをスキップして、代わりに else の後のコードを実行します。プログラムは「投票するには若すぎます。」と出力します。
if-elseでは、2つのブロックのうち必ずどちらか一方だけが実行されます。条件が真の場合は、最初のブロックが実行されます。偽の場合は、2つ目のブロックが実行されます。
balance = 100
withdrawal = 150
if balance >= withdrawal
puts "Withdrawal successful"
else
puts "Insufficient funds"
endこの構造は、相互に排他的な2つの結果がある場合に最適です。プログラムはどちらか一方に進まなければならず、両方に進むことも、どちらにも進まないこともありません。
チャレンジ
簡単次の変数が与えられています。
temperature = 35
has_umbrella = false
account_balance = 50
withdrawal_amount = 75
player_score = 100
high_score = 100以下の各シナリオを評価するために、if-else文を使用してください。条件がtrueかfalseかに基づいて、適切なメッセージを出力します。
temperatureが30より大きい場合は、It's hot outsideを出力します。それ以外の場合は、The weather is niceを出力します。has_umbrellaがtrueの場合は、You're prepared for rainを出力します。それ以外の場合は、You might get wetを出力します。account_balanceがwithdrawal_amount以上の場合は、Withdrawal approvedを出力します。それ以外の場合は、Insufficient fundsを出力します。player_scoreがhigh_scoreより大きい場合は、New high score!を出力します。それ以外の場合は、Try againを出力します。temperatureが0より小さい、またはtemperatureが40より大きい場合は、Extreme weatherを出力します。それ以外の場合は、Normal conditionsを出力します。
各メッセージはそれぞれ別の行に表示してください。
自分で試してみよう
# 変数はすでに定義されています
temperature = 35
has_umbrella = false
account_balance = 50
withdrawal_amount = 75
player_score = 100
high_score = 100
# TODO: 以下にコードを書いてください
# if-else文を使って各シナリオを評価し、適切なメッセージを出力してくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rubyオンラインコンパイラ