podobne pytanie podobne: Convert match statement to partial function when foreach is used. Podobnie, IntelliJ prosi mnie o ulepszenie mojego kodu. Różnica polega na tym, że mogę używać wartości dla dopasowania:scala: konwersja instrukcji dopasowania do wzoru pasującego do anonimowej funkcji - z wartościami
val matchMe = "Foo"
keys.foreach(key =>
key match {
case `matchMe` => somethingSpecial()
case _ => somethingNormal(key, calcWith(key))
})
Refaktoryzacja to do anonimowej funkcji wzór dopasowywania będzie wyglądać mniej więcej tak:
keys.foreach {
case `matchMe` => somethingSpecial(_)
case _ => somethingNormal(_, calcWith(_)) //this doesn't work
}
pamiętać, że w tym drugim przypadku nie można użyć _
, ponieważ potrzebuję go dwa razy. Czy jest jakiś sposób użycia anonimowej funkcji dopasowywania wzorca?
'f (_)' to 'x => f (x)'. I 'ks foreach {case _ => f (_)}' nie jest 'ks foreach {case x => f (x)}'. –
Cholera. To nie jest dla mnie nowość. Wielkie dzięki, Marth! –