wie ähnliche Frage: Convert match statement to partial function when foreach is used. In ähnlicher Weise bittet IntelliJ mich, meinen Code zu verbessern. Der Unterschied ist, dass ich Werte für den Abgleich verwenden:scala: Konvertieren von Übereinstimmungsanweisung in Mustererkennung anonyme Funktion - mit Werten
val matchMe = "Foo"
keys.foreach(key =>
key match {
case `matchMe` => somethingSpecial()
case _ => somethingNormal(key, calcWith(key))
})
dieses Refactoring zu einem anonymen Pattern-Matching-Funktion wäre so etwas wie folgt aussehen:
keys.foreach {
case `matchMe` => somethingSpecial(_)
case _ => somethingNormal(_, calcWith(_)) //this doesn't work
}
Beachten Sie, dass im zweiten Fall, ich nicht verwenden können, _
seit ich es zweimal brauche. Gibt es eine Möglichkeit, eine anonyme Pattern-Matching-Funktion zu verwenden?
'f (_)' ist 'x => f (x)'. Und 'ks foreach {Fall _ => f (_)}' ist nicht 'ks foreach {Fall x => f (x)}'. –
Verdammt. Das ist eigentlich nicht neu für mich .. Vielen Dank Marth! –