私はまだHaskellを学んでおり、1行のコードを使用して以下のステートメントを表現するためのより冗長な方法があるかどうか疑問に思っていました。
map (\x -> (x, (if mod x 3 == 0 then "fizz" else "") ++
if mod x 5 == 0 then "buzz" else "")) [1..100]
生産物:
[(1,""),(2,""),(3,"fizz"),(4,""),(5,"buzz"),(6,"fizz"),(7,""),(8,""),(9,"fizz"),(10,"buzz"),(11,""),(12,"fizz"),(13,""),(14,""),(15,"fizzbuzz"),(16,""),(17,""),(18,"fizz"),(19,""),(20,"buzz"),(21,"fizz"),(22,""),(23,""),(24,"fizz"),(25,"buzz"),(26,""),(27,"fizz"),(28,""),(29,""),(30,"fizzbuzz")
など
構文と必要以上に戦っているような気がします。Haskellでこれに関する他の質問を見てきましたが、これを1つのステートメントで表現するための最適な方法を探しています(構文をより適切に機能させる方法を理解しようとしています)。