假设我需要定义以下函数:
Identity = chr.ord
但上述行不起作用,正确的方法是:
身份=(chr.ord)
Haskell通常是一种极简主义的语言,所以使用这些额外的括号对我来说似乎并不自然。
是否有人知道需要引入括号。我不记得我们在haskell中使用点运算符的位置(除了小数点之外)。
在Nate / Daniel的评论之后进行编辑
你们都是对的。我的实际方法是:
nextLetter a
| a /= 'z' = chr.ord a
| a == 'z' = 'a'
现在我明白了,在这种情况下,它会评估ord a然后尝试评估chr.97,因此错误!
感谢。
答案 0 :(得分:4)
import Data.Char
identity = chr.ord
在test.hs
中并将其加载到ghci
中,没有任何问题。