Haskell:
テキストファイルの読み込み
How to:
テキストファイルを読む最も基本的なHaskellコードをご紹介します。
-- ファイルを読み込むシンプルな関数
import System.IO
-- ファイル全体を文字列として読み込む
readFileContents :: FilePath -> IO String
readFileContents filePath = do
contents <- readFile filePath
return contents
-- 使用例
main :: IO ()
main = do
contents <- readFileContents "example.txt"
putStrLn contents
このコードが出力するサンプル:
こんにちは、Haskell プログラマー!
これはテキストファイルのサンプルです。
Deep Dive
HaskellではreadFile
関数を使い、遅延IOを通じてファイルの内容を読み込みます。歴史的に見て、この遅延IOはHaskellの非同期処理や非ブロッキングIOの特徴として利用されてきました。しかし、遅延読み込みが問題を引き起こすこともあるため、Data.ByteString
やData.Text
といったライブラリで提供される代替手法を選ぶこともあります。これらのライブラリはしばしばパフォーマンスを改善し、エンコーディングの問題を解決するために使われます。