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ででも、自分で使ってみるとなるほどこれは良い、というのが実感できますね。