2016-10-19 1 views

Antwort

4

def fun(t: Int => Int):Unit ist eine Methode, die ein einziges Argument, t. Sein Typ Int => Int ist eine Funktion, die eine Int übernimmt und eine Int zurückgibt. Der Rückgabetyp fun ist jedoch Unit.

def fun(t: =>Int):Unit ist eine Methode, die ein call by name Argument t akzeptiert. Der Rückgabetyp dieser Methode ist wiederum Unit.

Siehe auch What is "Call By Name"?.

Es gibt keinen Unterschied zwischen der zweiten und dritten Methode.

+0

Danke für die Antwort. aber ist "def fun (t: Int => Int): Unit" auch namentlich anrufbar? –

+1

Nein seit '=> 'Präfixe ein Anruf nach Name Argument. Es ist nicht in dem Fall, dass Sie erwähnt haben. –

+0

Es tut mir leid, aber können Sie es ausarbeiten. Wenn ich den Code mit def Spaß (t: Int => Int): Einheit ausgeführt und eine Funktion in Spaß übergeben habe, wurde diese Funktion nur aufgerufen, wenn ich die Variable "t" verwendet habe. Also, heißt es nicht namentlich? –

Verwandte Themen