
Rustのif文とループ処理をマスターして、プログラムの制御フローを自由自在に操ろう!
Rustの制御フロー:if文で条件分岐
Rustにおける制御フローは、プログラムの実行順序を決定する上で不可欠です。特にif
文は、条件に基づいて異なるコードブロックを実行するために使用されます。この記事では、Rustのif
文とループ処理に焦点を当て、具体的な例を交えながらその使い方を解説します。
if
文の基本的な構文は次のとおりです。
if condition {
// conditionが真の場合に実行されるコード
} else {
// conditionが偽の場合に実行されるコード
}
condition
は真偽値を返す式です。else
ブロックは省略可能です。
例えば、数値が正か負かを判定するif
文は次のようになります。
let number = 5;
if number > 0 {
println!("正の数です");
} else if number < 0 {
println!("負の数です");
} else {
println!("ゼロです");
}
この例では、else if
を使って複数の条件をチェックしています。if
文は値を返す式としても使用できます。この場合、すべての分岐が同じ型を返す必要があります。
let result = if number > 0 {
1
} else {
-1
};
println!("結果: {}", result);
Rustのループ処理:for、while、loop
Rustには、for
、while
、loop
という3種類のループ構造があります。
for
ループは、イテレータを介して要素を反復処理するのに適しています。
let numbers = vec![1, 2, 3, 4, 5];
for number in numbers {
println!("数値: {}", number);
}
この例では、numbers
ベクトルの各要素を順番に処理しています。while
ループは、条件が真である限りコードブロックを繰り返し実行します。
let mut count = 0;
while count < 5 {
println!("カウント: {}", count);
count += 1;
}
loop
は、無限ループを作成します。break
文を使ってループを終了させることができます。
let mut count = 0;
loop {
println!("カウント: {}", count);
count += 1;
if count > 5 {
break;
}
}
ループにはラベルを付けることができます。ラベルを使用すると、ネストされたループからbreak
またはcontinue
する際に、どのループをターゲットにするかを指定できます。
'outer: loop {
println!("Outer loop");
loop {
println!("Inner loop");
break 'outer; // 外側のループを終了
}
}
continue
文は、現在のイテレーションをスキップして、次のイテレーションに進みます。
for number in 1..=5 {
if number % 2 == 0 {
continue; // 偶数の場合はスキップ
}
println!("奇数: {}", number);
}
参考リンク
まとめ
この記事では、Rustのif
文とループ処理の基本的な使い方を解説しました。if
文は条件分岐を、for
、while
、loop
は繰り返し処理をそれぞれ実現します。これらの制御フローを理解することで、より複雑なプログラムをRustで記述できるようになります。 ぜひ、今回紹介したコード例を参考に、Rustでのプログラミングに挑戦してみてください。