按名称传递并通过值结果语言传递

时间:2009-04-05 00:45:25

标签: programming-languages parameter-passing

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

6 个答案:

答案 0 :(得分:3)

wikipedia article on evaluation strategy表明fortran支持按值调用结果。 algol 68支持按名称呼叫。

答案 1 :(得分:1)

我认为C宏是按名称传递的(当然不是 C语言本身)。我不知道我害怕任何传值的结果语言(说实话,我必须进行网络搜索才能找出它的含义!)。

答案 2 :(得分:1)

如果你将变量传递给fortran函数并在那里修改它,你也可以在调用程序中修改它:

伪码:

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

会输出:

1
2

答案 3 :(得分:1)

我认为CLIPS专家系统语言将通过名称传递。

答案 4 :(得分:0)

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

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

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

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

答案 5 :(得分:0)

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

有人告诉我,Ada支持传值/结果,但尚未尝试过。