идиоматический «получить или еще обновить» для неизменяемого.Map ?

Каков идиоматический способ getOrElseUpdate для неизменяемого? Экземпляры карты ?. Я использую приведенный ниже фрагмент, но он кажется подробным и неэффективным

var map = Map[Key, Value]()

def foo(key: Key) = {
  val value = map.getOrElse(key, new Value)
  map += key -> value
  value
}
17
задан Eugene Yokota 15 December 2010 в 18:45
поделиться