So übergeben Sie eine Klassenmethode als Parameter in Scala

8

Sagen wir, ich habe eine Klasse C mit einigen Methoden

%Vor%

Nun möchte ich eine Methode, die zwei Instanzen von C sowie eine Methode von C benötigt, aber ich weiß nicht, was die Typen von f1, f2 sind oder wie sie aufgerufen werden. Ich denke, es würde ungefähr wie

aussehen %Vor%

Dies beklagt, dass es keine Methode von C. ist. Es muss einen Weg geben, dies auszudrücken.

    
Mike Kraley 01.07.2013, 23:01
quelle

3 Antworten

10
%Vor%

Dann ...

%Vor%

Dies verwendet anonyme Funktionen. Die letzten beiden Zeilen entsprechen:

%Vor%

Sie können keinen Verweis auf eine Methode als solche weitergeben, es sei denn, Sie verwenden eine Art der Reflexion.

    
ghik 01.07.2013, 23:13
quelle
8

Sie können stattdessen einfach die Methodenreferenzen übergeben:

%Vor%

Die Methoden werden über die entsprechenden Objektinstanzen geschlossen, sodass der Nettoeffekt dem entspricht, was Sie scheinbar erreichen möchten.

    
mikołak 01.07.2013 23:19
quelle
0

Dieser Ansatz funktioniert möglicherweise auch:

%Vor%     
Michael Stokley 22.03.2018 18:16
quelle

Tags und Links