3

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

4

1 回答 1

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.

于 2013-10-17T15:38:28.710 回答