ふつける練習問題その6
この問題あたりから、Seasons独自というか勢いなコードが見受けられる・・・
もっとフリーポイントスタイルを・・・
1 -- 標準入力から読み込んだ各行を幅60バイトに収まるように折り返すコマンド 2 -- foldを書きなさい。単語境界やマルチバイト文字は考えなくてもかまいません 3 import System 4 5 spliteValue = (60 :: Int) 6 7 -- ------------------------------------------------------------------- 8 -- where 用いてみた 9 -- ------------------------------------------------------------------- 10 main = do args <- getArgs 11 contents <- readFile (head args) 12 putStr $ unlines $ fold contents 13 14 fold cs = fold' (splitAt spliteValue cs) 15 where 16 fold' ( [ ] , [ ] ) = [ ] 17 fold' (cs,c) = (lines cs) ++ (fold' (splitAt spliteValue c)) 18 19 -- ------------------------------------------------------------------- 20 -- 勢いで書いた 21 -- ------------------------------------------------------------------- 22 main = do args <- getArgs 23 contents <- readFile (head args) 24 putStr $ unlines $ fold $ (splitAt spliteValue contents) 25 26 fold ( [ ],[ ] ) = [ ] 27 fold (cs,c) = (lines cs) ++ (fold (splitAt spliteValue c))