2 个版本
0.1.1 | 2023年1月26日 |
---|---|
0.1.0 | 2023年1月26日 |
#1 in #fizzbuzz
12KB
166 行
Over-Engineered-FizzBuzz.
一个过度设计的FizzBuzz实现。
用法
- 用作迭代器
for i in (1..=5).fizzbuzz() {
println!("{i}");
}
/* OUTPUT
1
2
Fizz
4
Buzz
*/
- 添加参数
let mut fb = FizzBuzz::default();
fb = fb + ("Kazz", 7);
fb += ("Vezz", 11);
let left = fb.compute(3 * 5 * 7 * 11);
let right = "FizzBuzzKazzVezz";
assert_eq!(left, right);
- 提供自定义参数
let fb = FizzBuzz::from(vec![("Carl", 3), ("Wheezer", 4)]);
let left = (1..=5).fizzbuzz_custom(fb).collect::<Vec<String>>();
let right = ["1", "2", "Carl", "Wheezer", "5"];
assert_eq!(left, right);
- 基本实现
let fb = FizzBuzz::default();
for i in 1..100 {
let res = fb.compute(i);
println!("{res}");
}