for*_*ana 15 evaluation scheme scala lazy-evaluation
我正在做一个家庭作业,我们被要求以我们开发的某种语言(使用Scheme)实施名为"按名称呼叫"的评估策略.
Ric*_*ton 11
按名称调用是一个参数传递方案,其中参数在使用时进行评估,而不是在调用函数时进行评估.这是伪C中的一个例子:
int i;
char array[3] = { 0, 1, 2 };
i = 0;
f(a[i]);
int f(int j)
{
int k = j; // k = 0
i = 2; // modify global i
k = j; // The argument expression (a[i]) is re-evaluated, giving 2.
}
Run Code Online (Sandbox Code Playgroud)
使用参数表达式的当前值访问时,将对参数表达式进行延迟计算.