come la domanda simile: Convert match statement to partial function when foreach is used. Allo stesso modo, IntelliJ mi chiede di migliorare il mio codice. La differenza è che io uso i valori per l'abbinamento:scala: converti la dichiarazione della partita in corrispondenza della corrispondenza della funzione anonima - con i valori
val matchMe = "Foo"
keys.foreach(key =>
key match {
case `matchMe` => somethingSpecial()
case _ => somethingNormal(key, calcWith(key))
})
Rifattorizzare questo per una funzione di pattern-matching anonima sarebbe simile:
keys.foreach {
case `matchMe` => somethingSpecial(_)
case _ => somethingNormal(_, calcWith(_)) //this doesn't work
}
Si noti che nel secondo caso, non posso usare _
poiché ne ho bisogno due volte. C'è un modo per utilizzare una funzione di corrispondenza dei pattern anonima qui?
'f (_)' è 'x => f (x)'. E 'ks foreach {case _ => f (_)}' non è 'ks foreach {case x => f (x)}'. –
Accidenti. Questo in realtà non è nuovo per me .. Grazie mille Marth! –