HaskellかわいいよHaskell

春休みに入ったのでHaskellの勉強を始めようと思う。

タプルで指定した回数yasuhisaを出力させる

main = do putStr $ unlines $ map concat $ map nTimesExpand [1,3,2,5]

nTimesExpand :: Int -> [String]
nTimesExpand times = replicate times "yasuhisa "

こんな感じに。yasuhisaも他の文字に指定できるようにしたい。繰り返し処理とかまだよく分からん。

yasuhisa 
yasuhisa yasuhisa yasuhisa 
yasuhisa yasuhisa 
yasuhisa yasuhisa yasuhisa yasuhisa yasuhisa 

tail

練習問題じゃないけど、自分で作った。

main = do cs <- getContents
          putStr $ unlines $ take 5 $ reverse $ lines cs

関数にしたバージョン。

main = do cs <- getContents
          putStr $ lastNLines 5 cs

lastNLines :: Int -> String -> String
lastNLines n cs = unlines $ take n $ reverse $ lines cs