按名称呼叫的示例

six*_*ude 9 theory callbyname

在我的编程类原则中,我们讨论的是不同的调用方法.我们讨论的一些是:

  • 按价值呼叫
  • 通过引用打电话
  • 按值/结果调用
  • 并按名称打电话

我无法找到名称调用如何工作的示例.有人在乎给我一个例子吗?我认为当你将xml文件作为输入时,这类似于按名称调用.有人能给我一个更传统的例子吗?

Gia*_*ian 9

我将使用一种假设的编程语言.假设我们有一个p(x)打印出x然后返回它的函数.现在让我们定义一个函数:

function foo(x, y) { return y+1; }
Run Code Online (Sandbox Code Playgroud)

现在让我们用一些参数调用它:

foo(p(123),p(456))
Run Code Online (Sandbox Code Playgroud)

x并将y替换参数,因此对foo上面的调用将导致:

return p(456)+1;
Run Code Online (Sandbox Code Playgroud)

所以我们打算将456打印到屏幕并返回457.在另一个评估策略中,我们首先评估函数参数(在过程中将123和456打印到屏幕),然后y在函数体中替换456 ,最终返回457.

它是人为的,但我希望你明白这个想法.这完全取决于替代.