saba1024のブログ

どうでも良い思いついた事とかプログラミング関係のメモとか書いていきます。

RustでFizzBuzz

fn fizz_buzz(n: i32) -> String {
    match (n % 3, n % 5) {
        (0, 0) => "FizzBuzz".to_string(),
        (0, _) => "Fizz".to_string(),
        (_, 0) => "Buzz".to_string(),
        (_, _) => n.to_string(),
    }
}

fn main() {
    let result = (1..101).map(|x| fizz_buzz(x)).collect::<Vec<_>>();
    println!("{:?}", result);
}

Scalaでパターンマッチを勉強した時には、まぁ便利なのかな?ぐらいの感覚でしたが、実際に簡単なFizzBuzzででも、自分で使ってみるとなるほどこれは良い、というのが実感できますね。