1

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

scala> var myl = mutable.Map[String,String]()
myl: scala.collection.mutable.Map[String,String] = Map()
myl("abc") = "123"

我想在我自己的类中模仿与可变元组一起使用的分配结构。现在,通过“apply”方法从 Map 中“获取”一个值:

例如 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 源代码的指针将不胜感激。谢谢。

4

1 回答 1

3

您要实现的方法称为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
于 2013-11-10T00:34:42.337 回答