FizzBuzz
> zipWith (\a b -> if b == "" then show a else b) [1..100] $ zipWith (++) (c ycle ["", "", "Fizz"]) (cycle ["", "", "", "", "Buzz"]) ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz", "13","14","FizzBuzz","16","17","Fizz","19","Buzz","Fizz","22","23", "Fizz","Buzz","26","Fizz","28","29","FizzBuzz","31","32","Fizz","34", "Buzz","Fizz","37","38","Fizz","Buzz","41","Fizz","43","44","FizzBuzz", "46","47","Fizz","49","Buzz","Fizz","52","53","Fizz","Buzz","56", "Fizz","58","59","FizzBuzz","61","62","Fizz","64","Buzz","Fizz", "67","68","Fizz","Buzz","71","Fizz","73","74","FizzBuzz","76","77", "Fizz","79","Buzz","Fizz","82","83","Fizz","Buzz","86","Fizz","88", "89","FizzBuzz","91","92","Fizz","94","Buzz","Fizz","97","98","Fizz", "Buzz"]
- zipWith2回
- lambda長いな
zipWith3 f [1..100] (cycle ["", "", "Fizz"]) (cycle ["", "", "", "", "Buzz"]) where f i "" "" = show i f _ s t = s ++ t
このほうがましか。