【发布时间】:2011-02-09 11:11:09
【问题描述】:
下周我有一个期中考试,我正在复习课堂上提供的 sml 笔记。我遇到了一个 currying 的例子,但我不确定它是如何工作的。
这是一个计算数字幂的简单函数。这是函数定义:
fun pow 0 n = 1 | pow k n = n*pow(k-1)n
当我们向它传递以下参数时,我不确定这个函数是如何工作的:
val x = pow 2 2
这是我的看法:
=2*pow(1)2
=2*(2*pow(0)2)2
=2*(2*(1)2)2)
我们应该得到的结果是四,但我看不出我们是如何从上面执行的步骤中得到这个结果的。
请帮忙。谢谢。
【问题讨论】:
-
哇,谁投票结束了这个? “无关”?真的吗?也许我们只被允许讨论命令式语言?
-
@jalf 我的咖喱双关语可能太难吃了。太多咖喱可能是一件坏事。