프로그래밍 & 코딩 | 구독자 30명 | 식봉이는 식봉해

fizzbuss.hs


module FizzBuzz where

main :: IO ()
main = do mapper fizzbuzz nums
          putStrLn ""
          mapper fizzbuzz2 nums
  where mapper f = mapM_ $ putStrLn . f
        nums = [1..15]


fizzbuzz :: (Integral aShow a) => a -> [Char]
fizzbuzz n | n `mod` 3 == 0 && n `mod` 5 == 0 = "fizzbuzz"
           | n `mod` 3 == 0 = "fizz"
           | n `mod` 5 == 0 = "buzz"
           | otherwise = show n

fizzbuzz2 :: (Show aIntegral a) => a -> [Char]
fizzbuzz2 n = (test 3 "Fizz" . test 5 "Buzz") id (show n)
  where test d s x | n `mod` d == 0 = const (s ++ x "")
                   | otherwise = x
로그인하고 댓글 작성하기
루리웹 오른쪽
루리웹 유머
루리웹 뉴스 베스트
PC/온라인
비디오/콘솔
모바일

루리웹 유저정보 베스트