2014-06-26 15 views
16

Con questo codiceCome convertire una funzione anonima in un valore di metodo?

val foo = List('a', 'b', 'c') 
aString.forall(foo.contains(_)) 

IntelliJ evidenzia foo.contains (_) e suggerisce "la funzione Anonimo convertibile al valore di metodo". Ho ricercato l'espansione di eta, ma non riesco a vedere come potrei migliorare questo particolare pezzo di codice. Qualche idea?

risposta

18

Credo che sia dicendo che si potrebbe semplicemente avere

val foo = List('a', 'b', 'c') 
aString.forall(foo.contains) 

Si noti che non stiamo convertendo in modo esplicito il metodo foo.contains qui per una funzione anonima.