Jak mogę uzyskać wartość domyślną w przypadku dopasowania?Przypadek Scala pasuje do wartości domyślnej
//Just an example, this value is usually not known
val something: String = "value"
something match {
case "val" => "default"
case _ => smth(_) //need to reference the value here - doesn't work
}
UPDATE: widzę, że mój problem nie był naprawdę rozumieć, dlatego jestem ilustrujący przykład, który jest bliżej do prawdziwych pracuję nad:
val db = current.configuration.getList("instance").get.unwrapped()
.map(f => f.asInstanceOf[java.util.HashMap[String, String]].toMap)
.find(el => el("url").contains(referer))
.getOrElse(Map("config" -> ""))
.get("config").get match {
case "" => current.configuration.getString("database").getOrElse("defaultDatabase")
case _ => doSomethingWithDefault(_)
}
Nie wiesz, masz na myśli to może być? 'case _ => smth (something)' –
@DavidRiccitelli że 'coś' pochodzi z bardzo długiej sekwencji czynności, dlatego potrzebuję innego sposobu na odniesienie się do niego – Caballero
Aby lepiej zrozumieć, czy próbujesz przekazać' coś' ' smth' kiedy 'coś' nie jest równe' val'? (jako przykład) –