Dato un metodo definito come segueScala Restituisce una funzione void con 0 parametri, brutta sintassi?
def descendEach(times:Int)(f:()=>Unit) {
for (i <- 1 to times) {
// other code
f()
}
}
quando uso questo metodo Voglio essere in grado di scrivere
gd.descendEach(20){
println(gd.cost)
}
ma il compilatore Scala lascia solo a ottenere via con
gd.descendEach(20){() =>
println(gd.cost)
}
che è una specie di brutto. Mi sto perdendo qualcosa qui? È possibile scriverlo nel primo modo che ho presentato?
Grazie Tomasz, che l'ha risolto. Per il mio esempio, funziona anche 'f: => Unit', ma la versione generica è utile sapere. – npiv