wvogel日記

自分用の技術備忘録が多めです.

入出力

import System.IO

main = do fp <- openFile "test.txt" ReadWriteMode
          cs <- getContents
          hPutStr fp (revenue $ words cs)
          hGetLines fp >>= putStrLn
          hClose fp

revenue :: [String] -> String
revenue (j:js)
    | j == "in"  = head js
    | j == "out" = "-" ++ head js
    | otherwise  = "There is not such command."


Haskellでの初めてのファイル操作。
test.txtに、コマンドプロンプトで受け取った値を書き込んで結果を確認するだけのもの。
ただ、Cでいうところのrewindを使っていないのでhGetLinesが殆ど意味をなさないという笑
あと、一度ファイルの中身を消さないと前のデータが残ってしまって思うように書き込みがなされないのですが、それもやっていないのでまだまだ出来損ないのソースコード


しかし今からお風呂