Todavía estoy aprendiendo Haskell, y me preguntaba si hay una manera menos detallado para expresar la declaración a continuación por medio de 1 línea de código:FizzBuzz limpieza
map (\x -> (x, (if mod x 3 == 0 then "fizz" else "") ++
if mod x 5 == 0 then "buzz" else "")) [1..100]
Produce: [(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")
, etc
Parece que estoy luchando contra la sintaxis más de lo debido. He visto otras preguntas para esto en Haskell, pero estoy buscando la forma más óptima de expresar esto en una sola declaración (tratando de entender cómo trabajar mejor la sintaxis).
http://www.haskell.org/haskellwiki/index.php?title = & search = fizzbuzz & fulltext = Buscar –
@Sergio, no seas tonto. Solo necesita 2 doctores: P –