下周我有一个期中考试,我刚刚复习了课堂上提供的 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)
我们应该得到的结果是四,但我看不出我们是如何从我上面执行的步骤中得到这个结果的。
请帮忙。谢谢你。