29 lines
663 B
Rust
29 lines
663 B
Rust
fn main() {
|
|
fizzbuzz_to(20); // defined below. No forward declaration needed.
|
|
}
|
|
|
|
fn is_divisible_by(lhs: u32, rhs: u32) -> bool {
|
|
// returns a boolean
|
|
if rhs == 0 {
|
|
return false;
|
|
}
|
|
return lhs % rhs == 0;
|
|
}
|
|
|
|
fn fizzbuzz(n: u32) -> () {
|
|
// this returns nothing, so '()'
|
|
match (is_divisible_by(n, 3), is_divisible_by(n, 5)) {
|
|
(true, true) => println!("fizzbuzz"),
|
|
(true, false) => println!("fizz"),
|
|
(false, true) => println!("buzz"),
|
|
(false, false) => println!("{n}"),
|
|
}
|
|
}
|
|
|
|
fn fizzbuzz_to(n: u32) {
|
|
// like above, but you can omit the '()'
|
|
for n in 1..=n {
|
|
fizzbuzz(n);
|
|
}
|
|
}
|