如何在Haskell中使用'aux'关键字

时间:2013-10-17 15:29:03

标签: haskell scope

好的,我已经看过大约4-5个提供教Haskell的网站,而其中一个网站没有解释关键字aux。他们刚开始使用它。我只是真的研究过Java和C(如果它存在的话,从来没有看过它),而且我在这个类之前从未真正遇到过它我正在使用Haskell。我真正能说的是它提供了在函数中创建和存储值的实用程序。那究竟它究竟做了什么以及如何正确使用和格式化?特别是,你可以在递归时解释它的用法吗?我不认为它的用途有任何不同,只是为了确保我认为我会问。

1 个答案:

答案 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