haskellに惚れた一瞬

haskellによるFizzBuzz別解。zipWith3とcycleで気持ちよく組めました。

putStr$concat$zipWith3 (\x y z->(if x++y=="" then show z else x++y)++"\n") (cycle ["","","Fizz"] )(cycle ["","","","","Buzz"])[1..100]

嫌なんだけど mapM_の方が短くなるな。ひょっとして剰余演算禁止で最短の部類じゃない?(嘘

mapM_ putStrLn$zipWith3(\x y z->if x++y=="" then show z else x++y)(cycle["","","Fizz"])(cycle["","","","","Buzz"])[1..100]