Seasons.NET

ちょっとした技術ブログです

ふつける練習問題その5

 1 -- 同じ行が連続していたらまとめるコマンド uniq を作成しなさい
 2 import List
 3 import System
 4 
 5 -- 割と読みやすいほう
 6 main = do args <- getArgs
 7           contents <- readFile (head args)
 8           putStrLn $ unlines $ groupLines $ lines contents
 9 
10 groupLines :: [String] -> [String]
11 -- 無名関数
12 -- groupLines cs = map (\x -> head x) (group cs)
13 groupLines cs = map (head) (group cs)
14 
15 -- まとめたver 
16 main = do args <- getArgs
17           putStrLn . unlines . map (head) . group . lines =<< readFile (head args)