if-else 文
CoddyのRustジャーニー「Fundamentals」セクションの一部 — レッスン 25/75。
if を使用すると、条件が満たされた場合に特定のコードを実行できますが、条件が満たされない場合に別のコードを実行したい場合はどうすればよいでしょうか?
そのために、else文があります:
let age: i32 = 15;
let status = if age >= 18 {
"Adult"
} else {
"Young"
};上記の例では、age は 18 より小さいため、elseコードに入り、status には "Young" が保持されます。
else if 文を使用することで、さらに詳細に記述することもできます:
let age: i32 = 68;
let status = if age < 18 {
"Young"
} else if age >= 18 && age <= 65 {
"Adult"
} else {
"Old"
};ここでは、ageが18未満であるかどうかを確認します。そうでない場合は次の条件に進み、ageが18から65の間であるかどうかを確認します。その条件も満たされない場合は、statusを"Old"に設定します。
else if 文は、必要な数だけ追加することができます:
if condition1 {
code;
} else if condition2 {
code;
} else if condition3 {
code;
}
...チャレンジ
初心者風速を示す数値を入力として受け取り、それを wind という名前の変数に格納するコードが与えられています。
注意:ユーザーから入力を受け取る方法は次のレッスンで学びます。今は最初の数行には触れないでください。
あなたのタスクは、以下の条件に基づいて変数 status を初期化することです:
windが8未満の場合は"Calm"、windが8以上31以下(8と31を含む)の場合は"Breeze"、windが32以上63以下(32と63を含む)の場合は"Gale"、- それ以外の場合は
"Storm"
テストケースを確認して、すべての入力と期待される出力を確認してください
チートシート
if 条件が満たされない場合にコードを実行するには、else を使用します:
let age: i32 = 15;
let status = if age >= 18 {
"Adult"
} else {
"Young"
};複数の条件をチェックするには、else if を使用します:
let age: i32 = 68;
let status = if age < 18 {
"Young"
} else if age >= 18 && age <= 65 {
"Adult"
} else {
"Old"
};複数の else if ステートメントを連結することができます:
if condition1 {
code;
} else if condition2 {
code;
} else if condition3 {
code;
}自分で試してみよう
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let wind: i32 = input.trim().parse().unwrap();
// 下の行を、windに基づいてstatusを割り当てるif-else式に置き換えてください
let status = "unset";
// 下の行は変更しないでください
println!("status = {}", status);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。