私はここで練習をしていたhttp://book.realworldhaskell.org/read/functional-programming.html。私がテキストファイルを転置する必要がある問題に対する私の解決策は、CPU時間がかかるようです。可能であれば、アルゴリズムを以下のように改善して、CPUの空き領域を少なくします。ハスケルでのテキストファイルの転置
import System.Environment (getArgs)
import Data.Char(isAlpha)
interactWith function inputFile outputFile = do
input <- readFile inputFile
writeFile outputFile (function input)
main = mainWith myFunction
where mainWith function = do
args <- getArgs
case args of
[input,output] -> interactWith function input output
_ -> putStrLn "error: exactly two arguments needed"
-- replace "id" with the name of our function below
myFunction = transpose
transpose :: String -> String
transpose input = tpose (lines input)
tpose [] = []
tpose xs = concat (map (take 1) xs) ++ "\n" ++ tpose (map (drop 1) xs)
これは速くなりますか? –