代码之家  ›  专栏  ›  技术社区  ›  dancavallaro

按名称传递和按值传递结果语言

  •  6
  • dancavallaro  · 技术社区  · 17 年前

    在我的编程语言课程中,我尝试用使用按名称传递或按值传递结果的语言编写一些代码片段,最好是默认情况下,但任何支持这两种语言的语言都可以。但是,我还没有找到一种语言支持这两种语言中的任何一种。有人知道使用按值传递结果或按名称传递的语言吗?最好是命令式语言。

    6 回复  |  直到 17 年前
        1
  •  3
  •   1800 INFORMATION    17 年前

    这个 wikipedia article on evaluation strategy 建议fortran支持按值调用结果。algol 68支持按名称调用。

        2
  •  1
  •   Steve    17 年前

    当然是C语言本身)。恐怕我不知道任何传递值的结果语言(老实说,我不得不通过网络搜索来找出它的含义!)。

        3
  •  1
  •   masher    17 年前

    如果将变量传递给fortran函数并在其中进行修改,则也可以在调用程序中进行修改:

    伪代码:

    int j = 1
    print j
    addOne(j)
    print j
    

    将输出:

    1
    2
    
        4
  •  1
  •   AaronLS    17 年前

    我认为CLIPS专家系统语言应该是匿名的。

        5
  •  0
  •   Sam Liao    17 年前

    Java和C都是按值传递语言。

    C显然是一种传递值语言。

    Java总是被告知“原语通过值传递,对象通过引用传递”。但由于java对象在任何时候都是一个引用,所以它实际上是一个引用值。

    Java语言规范告诉我们: http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#37472

        6
  •  0
  •   phamnamlong    16 年前

    Algol支持按名称传递,您可以找到一些解释 here