In meinem Kopf hatte ich immer eine ziemlich gute Idee von Wert gegenüber Referenz, die in Bezug auf Funktionen übergeben. Ich gehe durch Scala obwohl und es scheint sein Konzept des Anrufs mit Namen, ist verwandt, aber sein eigenes distinct KonzeptSind die Konzepte von call by name und by reference separate Konzepte?
Zum Beispiel in C# gibt es das Schlüsselwort ref, und in Scala gibt es den Aufruf von Name => Operator .
Es ist mein Verständnis, dass das ref-Schlüsselwort - grob gesagt zumindest - dazu dient, einen Zeiger auf ein Stück Daten zu übergeben, anstatt dieses Stück Daten selbst. Wenn Sie die Ganzzahl in der Funktion ändern, wirkt sich Integer bei der Verwendung mit einem Integer-Datentyp auch auf die angerufene Seite aus.
Aufruf mit dem Namen auf der Hand beschreibt eine Auswertungsstrategie, bei der alle Ausdrücke in einem Argument verzögert werden, bis die Ausdrücke innerhalb der Funktion verwendet werden.
Scheint mein Verständnis richtig? Wenn ja, ist es dann so, dass diese Begriffe verwandte Namen haben, oder sehe ich keinen Teil des Bildes? Vielen Dank!