はじめに
この実験では、Rust で if-else 文を使う方法を学びます。他のプログラミング言語と同様に、Rust の if-else 文は条件の周りに丸括弧を必要とせず、各条件の後にコード ブロックが続きます。これらの条件分岐は式であるため、すべてのブランチは同じ型を返さなければなりません。提供されたコード例では、まず変数 n が 0 未満かどうかをチェックし、その場合は n が負であることを出力します。n が 0 以上の場合、次に 0 より大きいかどうかをチェックし、n が正であることを出力します。最後に、以前の条件がすべて満たされない場合、n がゼロであることを出力します。もう 1 つの例では、if-else 文を式として使って変数 big_n に新しい値を割り当てる方法を示しています。n が -10 から 10 の間の場合、n が小さな数であることを出力し、big_n に 10 * n を割り当てます。それ以外の場合、n が大きな数であることを出力し、big_n に n / 2 を割り当てます。最後に、n と big_n の最終出力を表示します。
注: 実験でファイル名が指定されていない場合、好きなファイル名を使うことができます。たとえば、
main.rsを使って、rustc main.rs &&./mainでコンパイルして実行することができます。
if/else
if-else による分岐は他の言語と似ています。その多くとは異なり、論理値の条件は丸括弧で囲む必要はなく、各条件の後にブロックが続きます。if-else の条件分岐は式であり、すべてのブランチは同じ型を返さなければなりません。
fn main() {
let n = 5;
if n < 0 {
print!("{} is negative", n);
} else if n > 0 {
print!("{} is positive", n);
} else {
print!("{} is zero", n);
}
let big_n =
if n < 10 && n > -10 {
println!(", and is a small number, increase ten-fold");
// この式は `i32` を返します。
10 * n
} else {
println!(", and is a big number, halve the number");
// この式も `i32` を返さなければなりません。
n / 2
// TODO ^ Try suppressing this expression with a semicolon.
};
// ^ ここにセミコロンを忘れないでください!すべての `let` 束縛には必要です。
println!("{} -> {}", n, big_n);
}
まとめ
おめでとうございます!あなたは If/Else の実験を完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を行って練習することができます。