シンプルなFizzBuzzプログラム
FizzBuzzプログラムは、基本的なプログラミングスキルを評価するための一般的なコーディング課題です。
プログラムは、通常1から100までの数値の列を順に処理します。
各数値について、3と5で割り切れるかどうかを確認します。
3で割り切れる場合、「Fizz」と出力します。 5で割り切れる場合、「Buzz」と出力します。
3と5の両方で割り切れる場合、「FizzBuzz」と出力します。
いずれの条件も満たさない場合、その数値自体を出力します。
では、redyでFizzBuzzプログラムを書いてみましょう。
fn main() {
for i: 1..=100 {
if i % 15 == 0 {
println#("FizzBuzz")
} else if i % 3 == 0 {
println#("Fizz")
} else if i % 5 == 0 {
println#("Buzz")
} else {
println#("{}", i)
}
}
}
このコードを実行すると、1から100までのFizzBuzzの出力が得られます。ここで何が起こっているのかを理解しましょう。
最初の行for i: 1..=100 { ... }
は、数値i
を1
から100
まで(両端を含む)を反復するループを作成します。波括弧{ ... }
内のコードは、各数値に対して実行されます。
ループ内では、条件に基づいて異なるコードブロックを実行するために使用されるif...else if...else
文を使用します。
i % 15 == 0
: この条件は、i
が15で割り切れるかどうかをチェックします。%
演算子は左辺を右辺で割った余りを計算するので、それが0
であればi
が15の倍数であると判断することができますi % 3 == 0
とi % 5 == 0
はそれぞれi
が3の倍数か、5の倍数かを同様にチェックしますelse { println#("{}", i) }
: これらすべての条件が真でない場合、数字を直接コンソールに出力します
i % 15 == 0
が最初に評価されることに注意してください。これが一番上に置かれているのは、15で割り切れる数字が3でも15でも割り切れるためです。もし最初にi % 3 == 0
をチェックすれば、"FizzBuzz"と出力されるべきすべての数字で先に"Fizz"が出力されてしまい、これは正しいFizzBuzzプログラムと言えなくなります