Wie kann ich irgendeine Funktion als Eingabe für meine Scala-Wrapper-Methode verwenden?

7

Nehmen wir an, ich möchte einen kleinen Wrapper in folgenden Zeilen erstellen:

%Vor%

Macht das Sinn? Meine Wrapper-Methode ist offensichtlich falsch, aber ich denke, dass der Geist dessen, was ich tun möchte, möglich ist. Habe ich recht damit? Wenn ja, wie lautet die Lösung? Danke!

    
pr1001 17.04.2010, 09:45
quelle

2 Antworten

21

Wenn Sie möchten, dass Ihre wrapper -Methode die umschlossene Methode in sich selbst ausführt, sollten Sie den Parameter auf "nach Name" ändern. Dies verwendet die Syntax => ResultType .

%Vor%

Sie können dies jetzt tun,

%Vor%

und es wird gedruckt

%Vor%

Wenn Sie den Rückgabetyp der umbrochenen Funktion verwenden möchten, können Sie Ihre Methode generisch machen:

%Vor%     
Ben Lings 17.04.2010, 11:33
quelle
1

In Ihrem Fall führen Sie bereits die Funktion println aus und übergeben das Ergebnis dann an Ihren Wrapper, während es eine Funktion mit einem Argument ( Any ) erwartet und die Any zurückgibt.

Nicht sicher, ob diese Antwort auf Ihre Frage zutrifft, aber Sie können einen generischen Typparameter verwenden und eine Funktion ohne Argumente akzeptieren, die diesen Typ zurückgeben:

%Vor%     
Patrick 17.04.2010 11:12
quelle

Tags und Links