如何模仿Scala';我自己的类中的映射/数组赋值语法

如何模仿Scala';我自己的类中的映射/数组赋值语法,scala,map,Scala,Map,以下是一个简单的地图条目分配: scala> var myl = mutable.Map[String,String]() myl: scala.collection.mutable.Map[String,String] = Map() myl("abc") = "123" 我想在我自己的类中模拟使用可变元组的赋值结构。现在,通过“应用”方法从地图中“获取”值: e、 g mutable.HashMap: override def apply(key: A): B = { v

以下是一个简单的地图条目分配:

scala> var myl = mutable.Map[String,String]()
myl: scala.collection.mutable.Map[String,String] = Map()
myl("abc") = "123"
我想在我自己的类中模拟使用可变元组的赋值结构。现在,通过“应用”方法从地图中“获取”值:

e、 g mutable.HashMap:

  override def apply(key: A): B = {
    val result = findEntry(key)
    if (result eq null) default(key)
    else result.value
  }

然而,我无法通过myMap(“myKey”)=“myval”找到映射项是如何“设置”的。如果能提供一个指向Scala源代码的指针,我们将不胜感激。谢谢。

您要实现的方法称为update(),它接受两个参数,一个用于括号中传递的输入值,另一个用于赋值

class QueryParams {
  var params = ""
  def update(name: String, value: String) { params += s"$name=$value&" }
}
例如:

val p = new QueryParams()
p("q") = "SFO"
p("start") = "10"
p("rows") = "10"
p.params

多亏了斯瓦茨洛克,我看了这个方法,差点就试过了。我现在就这样做。