![]() |
1
9
我将使用一种假设的编程语言。假设我们有一个函数
现在让我们用一些参数来调用它:
所以我们要把456打印到屏幕上,然后返回457。在另一个评估策略中,我们将首先评估功能参数(在过程中将123和456打印到屏幕上),然后用456替换
这是人为的,但我希望你能理解。一切都是关于替代。 |
![]() |
2
2
http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_name
在按值调用中,计算参数,检索随后传递给函数的值。
在按名称调用中,可以用函数体中对参数的任何引用替换它们
代码
在通话中使用。然后,评估主体,您将评估参数。
|
![]() |
3
1
按名称呼叫 作为工作 参考呼叫 当实际参数为 定标器 ,但实际参数为 表达式或数组 然后在每次访问时重新评估实际参数。 下面是一个简单的例子
|
![]() |
0__ · 按名称调用参数和函数类型不匹配 13 年前 |