#fizzbuzz #iterator #fb #over-engineered #paramater #vezz #paramaters

bin+lib over-engineered-fizzbuzz

一个过度设计的FizzBuzz实现

2 个版本

0.1.1 2023年1月26日
0.1.0 2023年1月26日

#1 in #fizzbuzz

MIT/Apache

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}");
}

无运行时依赖