#fizzbuzz #fizz #buzz

extended_fizzbuzz

可配置的FizzBuzz库

1 个稳定版本

1.0.0 2020年9月11日

#4 in #fizz

MIT 许可证

13KB
185 代码行

extended_fizzbuzz 构建

可配置的FizzBuzz库。

安装

[dependencies]
extended_fizzbuzz = "1"

用法

use extended_fizzbuzz::{fizzbuzz, Matcher};

fn main() {
    let matchers = vec![
        Matcher::new(3, "Fizz").expect("Failed to create `3=Fizz` matcher"),
        Matcher::new(5, "Buzz").expect("Failed to create `5=Buzz` matcher"),
    ];

    fizzbuzz(1, 100, &matchers).expect("FizzBuzzing failed");
}

许可证

有关详细信息,请参阅许可证文件

作者

使用


lib.rs:

本库提供了一种可配置的FizzBuzz实现。

示例

从1到15的FizzBuzz

use extended_fizzbuzz::{fizzbuzz, Matcher};

let matchers = vec![
    Matcher::new(3, "Fizz").unwrap(),
    Matcher::new(5, "Buzz").unwrap(),
];

fizzbuzz(1, 15, &matchers).unwrap();

输出

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

单个数字的FizzBuzz

use extended_fizzbuzz::{line, Matcher};

let matchers = vec![
    Matcher::new(3, "Fizz").unwrap(),
    Matcher::new(5, "Buzz").unwrap(),
];

assert_eq!(line(6, &matchers), "Fizz".to_string());
assert_eq!(line(7, &matchers), "7".to_string());
assert_eq!(line(10, &matchers), "Buzz".to_string());
assert_eq!(line(15, &matchers), "FizzBuzz".to_string());

依赖项

~315–780KB
~18K SLoC