我最近刚开始学习 Haskell ,但是我很难弄清楚文件读取的工作原理。
例如,我有一个包含数字行的文本文件 "test.txt":
32 4
2 30
300 5
我想逐行读取并评估每个单词,并将它们相加。
因此,我正在尝试做这样的事情:
import System.IO
import Control.Monad
main = do
let list = []
handle <- openFile "test.txt" ReadMode
contents <- hGetContents handle
singlewords <- (words contents)
list <- f singlewords
print list
hClose handle
f :: [String] -> [Int]
f = map read
我知道这完全是错的,但我完全不知道如何正确使用语法。
非常感谢任何帮助以及提供有例子和代码解释的好教程链接,但除了这个已经阅读完毕。