LINUX.ORG.RU

История изменений

Исправление RedPossum, (текущая версия) :

А можно да, implicit classes пользовать.

import scala.collection._

object ConvenienceMapHelper{
  implicit class ConvenienceMap[T,U](m:mutable.Map[T, U]){
    def u(k:T):U = m.getOrElseUpdate(k, m.default(k) )
  }
}

object CM extends App {
  import ConvenienceMapHelper._
  type Values = mutable.ArrayBuffer[Int]
  val m = new mutable.HashMap[Int, Values].withDefaultValue(new Values)
  m.u(0).append(1,2,3,4)
  println(m(0))
}

Исправление RedPossum, :

А можно да, implicit classes пользовать.

import scala.collection._

object ConvenienceMapHelper{
  implicit class ConvenienceMap[T,U](m:mutable.Map[T, U]){
    def u(k:T):U = m.getOrElseUpdate(k, m.default(k) )
  }
}

object CM extends App {
  import ConvenienceMapHelper._
  type Values = mutable.ArrayBuffer[Int]
  val m = new mutable.HashMap[Int, Values].withDefaultValue(new Values)
  m.u(0).append(1,2,3,4)
  println(m(0))
}

Исходная версия RedPossum, :

А можно да, implicit classes пользовать.