Frage

Für meine Programmiersprachen Natürlich, ich versuche, einig Code-Schnipsel in Sprachen zu schreiben, den Pass von Namen verwenden oder weitergeben von Wert-Ergebnis, vorzugsweise standardmäßig, aber jede Sprache, die auch unterstützt entweder von denen, wäre in Ordnung. Allerdings habe ich in der Lage, nicht eine einzige Sprache zu finden, die entweder von ihnen unterstützt. Kennt jemand eine Sprache, die von Wert-Ergebnis oder vorbei Namen übergeben verwendet? Vorzugsweise ist eine imperative Sprache.

War es hilfreich?

Lösung

Die Wikipedia-Artikel über Auswertestrategie , die Call-by-Value-Ergebnis legt nahe, unterstützt wird von fortran. Call-by-Name wird unterstützt von Algol 68.

Andere Tipps

ich denke, C Makros wird Pass-by-Name ( nicht die Sprache C selbst natürlich). Ich weiß nicht von irgendwelchen Pass-by-Value-Ergebnis Sprachen ich Angst habe (um ehrlich zu sein hatte ich eine Web-Suche zu tun, um herauszufinden, was es bedeutet!).

Wenn Sie eine Variable auf eine Fortran-Funktion übergeben und Sie es dort ändern, Sie es auch im rufenden Programm ändern:

psuedocode:

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

ausgeben würde:

1
2

Ich denke, CLIP Expertensystem Sprache Pass von Namen sein würde.

Sowohl Java und C-Pass-by-Wert Sprache.

C ist eindeutig ein Pass von Wert Sprache.

Java ist immer gesagt worden, „Primitive von Wert übergeben wird, Objekte als Referenz übergeben werden“. Aber da Java-Objekt ist eine Referenz zu jeder Zeit, so ist es eigentlich ein Referenzwert.

Java Language-Spezifikation sagt dies: http://java.sun.com/ docs / Bücher / JLS / second_edition / html / classes.doc.html # 37472

Algol-Pass-by-Namen unterstützt, wie Sie eine Erklärung finden können hier

Mir wurde gesagt, dass Ada Pass-by-Wert / Ergebnis unterstützt, aber noch nicht ausprobiert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top