假设我需要定义以下函数:
身份 = chr.ord
但是上面的行不起作用,正确的方法是:
身份 = (chr.ord)
Haskell 通常是一种极简主义的语言,因此使用额外的括号似乎并不自然(对我来说)。
有谁知道需要引入括号。我不记得我们在 haskell 中在哪里使用点运算符(除小数外)。
根据 Nate/Daniel 的评论进行编辑
你俩都是对的。我的实际方法是:
nextLetter a
| a /= 'z' = chr.ord a
| a == 'z' = 'a'
现在我明白了,在这种情况下,它将评估 ord a 然后尝试评估 chr.97,因此出现错误!
谢谢。