学習ログ

ファイルの入出力 & 実行時のパラメータ

import System.Environment (getArgs)

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"
        myFunction = id

インプットファイルの内容をアウトプットファイルに書き込むだけの処理。
実行時には2つの引数(inputFile outputFile)を受け取る。
引数がマッチしなければ、エラーメッセージをだす。

Real World Haskell: Code You Can Believe In

Real World Haskell: Code You Can Believe In