[ create a new paste ] login | about

Link: http://codepad.org/MJKLph9z    [ raw code | output | fork ]

johannes - Haskell, pasted on Oct 24:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
module Main where

import Data.List
import Data.Maybe

match :: [(Int, String)] -> Int -> String
match xs a | [] == res = show a
           | otherwise = res
  where
    res = concat $ mapMaybe f xs 
    f (n, lb) = if mod a n == 0 then Just lb else Nothing

myFizzBuzz = (map . match) [(3, "Fizz"), (5, "Buzz")]

main :: IO ()
main = print $ myFizzBuzz [1..100]


Output:
1
["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"]


Create a new paste based on this one


Comments: