好的,我已经看过大约4-5个提供教Haskell的网站,而其中一个网站没有解释关键字aux
。他们刚开始使用它。我只是真的研究过Java和C(如果它存在的话,从来没有看过它),而且我在这个类之前从未真正遇到过它我正在使用Haskell。我真正能说的是它提供了在函数中创建和存储值的实用程序。那究竟它究竟做了什么以及如何正确使用和格式化?特别是,你可以在递归时解释它的用法吗?我不认为它的用途有任何不同,只是为了确保我认为我会问。
答案 0 :(得分:7)
没有关键字aux
,我的猜测是这只是他们用于本地功能的名称。
就像你可以定义顶级值一样:
myValue = 4
或顶级功能:
myFunction x = 2 * x
您可以类似地定义本地值:
myValue =
let myLocalValue = 3 in
myLocalValue + 1
-- or equivalently:
myValue = myLocalValue + 1
where myLocalValue = 3
或本地功能:
myValue =
let myLocalFunction x = 2 * x in
myLocalFunction 2
-- or equivalently:
myValue = myLocalFunction 2
where myLocalFunction x = 2 * x
您的老师只是简单地命名了本地函数aux
而不是myLocalFunction
。