theory - 按名称调用电话的示例

标签 theory callbyname

在我的编程类(class)原则中,我们谈论的是不同的调用方法。我们讨论了一些:

  • 按值调用
  • 通过引用进行调用
  • 按值/结果调用
  • 调用,名称为

  • 我找不到有关按名称调用的工作方式的示例。有人在乎给我举个例子吗?我认为当您将xml文件作为输入时,这类似于按名称调用。有人可以给我一个更传统的例子吗?

    最佳答案

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

    function foo(x, y) { return y+1; }
    

    现在让我们用一些参数来称呼它:
    foo(p(123),p(456))
    
    xy将替换为参数,因此对上面foo的调用将导致:
    return p(456)+1;
    

    因此,我们将在屏幕上打印456并返回457。在另一种评估策略中,我们将首先评估函数参数(在此过程中将123和456打印到屏幕上),然后在函数主体中将456替换为y,最终返回457。

    人为的,但我希望你能明白。都是关于替代的。

    关于theory - 按名称调用电话的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3331143/

    相关文章:

    algorithm - 有人知道 OLAP Internals 吗?

    javascript - 是否可以在严格代码中更改标识符 `eval` 的值?

    programming-languages - "closure"和 "block"之间到底有什么区别?

    scala - 在按名称参数 : evaluation is not forced? 中传递的函数上使用 apply ("()")

    scala - 按值调用和按名称等效

    theory - 了解 Coq 中的 "well founded"证明

    algorithm - 将图像对象分成N个相等像素的部分(方法)

    Perl:使用哈希值通过引用调用子例程的问题

    Scala案例类禁止按名称调用参数?

    scala - def 和 val 之间的性能差异