很长一段时间以来,我一直在第四行收到此错误: 声明中的语法错误(意外的`;',可能是由于布局错误) 在以下代码段中:
import Data.Maybe
leesIngrediënten:: Int->[[Char]]->[Int]->[Maybe [Char]]->[[Char]]->([Int], [Maybe [Char]], [[Char]])
leesIngrediënten 0 _ hoevs eenhs naams = (hoevs, eenhs, naams)
leesIngrediënten n (line:lines) hoevs eenhs naams =
let
(hoev, eenh, naam) = leesLijn line
in
leesIngrediënten (n-1) lines (hoev:hoevs) (eenh:eenhs) (naam:naams)
在互联网上搜索后,我发现错误意味着什么,但重点是我没有看到我的错误。 (可能是因为我写了代码)
奇怪的是,Hugs抱怨GHCi没有什么可抱怨的。
提前致谢!
答案 0 :(得分:5)
根据https://www.haskell.org/hugs/pages/users_guide/haskell98.html,Hugs不支持Unicode标识符。这可能会导致语法错误。
答案 1 :(得分:0)
看起来问题似乎带有Unicode标识符。当我运行你的代码时,我得到了
3:12: lexical error (UTF-8 decoding error)
但重要的是,如果文件是已编译的文件或不是。如果是exe
,请不要使用runhaskell
。这也可能导致问题。对于未来有一点提示,当您在单词和标点符号之间使用更多空格时,您的代码更容易阅读。