人気ブログランキング | 話題のタグを見る

ファイルの読み書き

ファイルの読み書きをする Haskell の関数は、writeFile、readFile、appendFile 位を知っていれば個人的な用途には十分役立つ。これらは、Prelude 標準の関数なので ghci ですぐに試してみることができる。

Prelude> writeFile "hello.txt" "hello, world"
Prelude> readFile "hello.txt" >>= putStrLn
hello, world
Prelude> appendFile "hello.txt" "\nhow are you?"
Prelude> readFile "hello.txt" >>= putStrLn
hello, world
how are you?

ただし、readFile で読みだした文字列は IO a 型(IO モナド型)で戻ってくるので、IO モナドを理解していないと利用できない。

IO モナドについては、このブログの Haskell 記事リストの 9 にまとめている。

IO モナドは確かに厄介なシロモノだが、IO モナドの関数は全て引数がひとつで戻値がIO a型になる関数だというポイントをつかめば、別にIO モナドの思想を理解しなくてもプログラムを動かすことができるようになる。

IO モナドという関門を突破すれば、Haskell のプログラムが関数の世界だけでなく、現実世界で働くようにできるようになるので、Haskell を学ぶ楽しみが倍増するだろう。
by tnomura9 | 2011-08-23 18:28 | Haskell | Comments(0)
<< Data.List モジュール... データファイルの読み出し。 >>