Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

8. Funktionale Programmierung in Scala > Call-by-name, Call-by-value

Call-by-name, Call-by-value

Normalerweise sind Parameter für Funktionen immer By-value-Parameter, das heißt, der Wert eines Parameters wird ermittelt, bevor er an die Funktion übergeben wird. In den meisten Fällen ist das auch das Verhalten, das wir wünschen und erwarten.

Aber was ist, wenn wir eine Funktion schreiben müssen, die als Parameter einen Ausdruck annimmt, dessen Wert erst dann ermittelt werden soll, wenn er innerhalb unserer Funktion ausgewertet wird? Für diesen Fall bietet Scala By-name-Parameter an.

Ein By-name-Parameter wird angegeben, indem man wie folgt die Klammern weglässt, die normalerweise einen Funktionsparameter umgeben:

def myCallByNameFunction(callByNameParameter: => ReturnType)

Ohne diese syntaktische Abkürzung sähe die Methodendefintion so aus:


  

You are currently reading a PREVIEW of this book.

                                                                                                                    

Get instant access to over $1 million worth of books and videos.

  

Start a Free 10-Day Trial


  
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint