多言語学習スタイル 同じ FizzBuzz でも違う表情(FP 系)
match (n % 3, n % 5) {
(0, 0) => "FizzBuzz".to_string(),
(0, _) => "Fizz".to_string(),
(_, 0) => "Buzz".to_string(),
_ => n.to_string(),
}
fizzBuzz n
| n `mod` 15 == 0 = "FizzBuzz"
| n `mod` 3 == 0 = "Fizz"
| n `mod` 5 == 0 = "Buzz"
| otherwise = show n
- FP 系は 「値の分類」 をデータ構造の網羅性で表現
- 同じ仕様でも、言語の設計思想がコードの形に表れる