ファイルを読み込む
少し御無沙汰でした。
今回はファイルを呼んで表示してみようと思います。
他の言語では、基本的な機能で簡単に実現できますが、Haskellではこのような入出力などは、副作用のあつかいとなりちょっと面倒です。
入出力など順序が重要になるような処理では、モナドというものをつかって関数の順序を記述します。
import System import System.IO main = do fname <- getArgs -- 引数をfnameに h1 <- openFile (head fname) ReadMode --ファイルを開く list <- hGetContents h1 --ファイルを全て読み込む putStrLn list --listを表示 hClose h1 --ファイルを閉じる
main関数を定義しているdoを含めた書き方がモナドをしている部分です。ちなみにhaskellでは「--」から行末まではコメントになります