我目前正在从Haskell的在线版本中学习Haskell,我正在学习第4章:函数中的语法。在阅读这本书时,我将所有示例函数逐字编码到我的文本编辑器(Notepad++)中,并在GHCI上运行。
我最近做的一件事就是开始惹恼我(这是在警卫中,警卫!)(第四章第一节)。
initials :: String -> String -> String
initials firstname lastname = [f] ++ "." ++ [l]
where (f:_) = firstname
(l:_) = lastname这是我的代码,也是书中显示的代码。每当我自己编写它时,GCHI总是给出解析错误。然而,当我从书中复制/粘贴它时,它就能工作了。有趣的是没有什么区别。我把代码复制/粘贴在我的上面,它们之间并没有什么区别。我做过好几次了,所以我肯定我不是妄想。
为什么会发生这种情况?我怎么才能修好它?我一开始查了一下,但我看到的是,"where“后面的两个语句必须在同一列中对齐。我就是这么做的。还是不起作用。
发布于 2013-06-05 20:50:11
这是否是你在使用制表符而又不一致地使用制表符(例如,在某些行中使用制表符,而在另一些行中使用空格)?
Haskell报告说:
这是真正的建议,永远不要使用制表符,始终使用空格!
https://stackoverflow.com/questions/16949436
复制相似问题