Immagina di avere un Map[String, String]
in Scala.Corrispondenza di modelli con Scala Tipo di mappa
Voglio confrontarmi con il set completo di coppie di valori-chiave nella mappa.
Qualcosa del genere dovrebbe essere possibile
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"
}
Il compilatore si lamenta thulsy:
error: value Map is not a case class constructor, nor does it have an unapply/unapplySeq method
Qual è attualmente il modo migliore per corrispondenza modello per combinazioni di valori-chiave in un Map
?
La soluzione corrispondente nidificato sembra piuttosto buono. –