Dies wäre ein schönes fizzbuzz in Rust sein denke ich:Was passiert, wenn der Ausdruck in einem Übereinstimmungsarm false zurückgibt?
match (i % 3, i % 5) {
(0, 0) => println!("FizzBuzz"),
(0, _) => println!("Fizz"),
(_, 0) => println!("Buzz"),
_ => println!("{}", i),
}
Es auch auf diese Weise erklärt werden könnte:
match i {
i if i % 3 == 0 && i % 5 == 0 => println!("FizzBuzz"),
i if i % 3 == 0 => println!("Fizz"),
i if i % 5 == 0 => println!("Buzz"),
_ => println!("{}", i),
}
Nun, die mich verwirrt.
i if i % 3 == 0
ist ein Ausdruck, richtig? Dies ergibt i
, wenn die Bedingung wahr ist. Aber was passiert, wenn es falsch ist?
Das erste ist ein ziemlich ordentliches FizzBuzz, daran habe ich nie gedacht –