指定した桁数で改行を入れる
おおー、id:hakobe932くんもHaskellかー。id:hakobe932:20061215:1166201940
僕も大体同じ動きをするプログラムを書いてみました。参考まで。
module Main (main) where import System (getArgs) import System.IO (stderr, hPutStrLn) readFiles :: [String] -> IO String readFiles [] = getContents readFiles files = return . concat =<< mapM readFile files groupn :: Int -> [a] -> [[a]] groupn _ [] = [] groupn n s = s1 : groupn n s2 where (s1, s2) = splitAt n s filln :: Int -> [FilePath] -> IO () filln column files = putStr . unlines . concatMap (groupn column) . lines =<< readFiles files main :: IO () main = do args <- getArgs case args of (column : files) -> filln (read column) files _ -> usage where usage = hPutStrLn stderr $ "usage: filln column files..."