Wyobraź sobie, że mam Map[String, String]
w Scali.Dopasowanie wzorców do Scala Mapa typu
Chcę dopasować do pełnego zestawu par klucz-wartość na mapie.
Coś takiego powinno być możliwe
val record = Map("amenity" -> "restaurant", "cuisine" -> "chinese", "name" -> "Golden Palace")
record match {
case Map("amenity" -> "restaurant", "cuisine" -> "chinese") => "a Chinese restaurant"
case Map("amenity" -> "restaurant", "cuisine" -> "italian") => "an Italian restaurant"
case Map("amenity" -> "restaurant") => "some other restaurant"
case _ => "something else entirely"
}
Kompilator narzeka thulsy:
error: value Map is not a case class constructor, nor does it have an unapply/unapplySeq method
Co obecnie jest najlepszym sposobem na wzór meczu o kombinacji klucz-wartość w Map
?
zagnieżdżona rozwiązanie dopasowanie wygląda całkiem dobrze. –