【发布时间】:2017-11-10 00:54:38
【问题描述】:
我刚刚编写的一些 Haskell 代码有问题。我只是一个初学者,所以我对 Haskell 的语法不太了解,现在这个错误刚刚弹出,我不知道如何摆脱它。
无法将预期类型“[Bool]”与实际类型“Bool”匹配
grep :: String -> IO()
grep x = do
fileContent <- readFile "/home/User/Desktop/foo.txt"
let fileRows = lines fileContent
let rowNumbers = -1
if (map (isInfixOf x) fileRows == True)
then do let rowNumbers2 = rowNumbers
let rowNumbers = rowNumbers2+1
putStrLn ("[" ++ show(rowNumbers) ++ "] : " ++ x)
else do let rowNumbers2 = rowNumbers
let rowNumbers = rowNumbers2+1
print "False"
我想检查fileContent 是否包含单词x。如果是,我想打印行和行号,否则我想继续搜索直到到达文件末尾。如何遍历fileRows 以检查该单词是否在其中?
【问题讨论】:
标签: haskell functional-programming