2013-11-09 17 views
1

下面是一個簡單的映射條目分配:如何模仿Scala的地圖/數組賦值語法在我自己的類

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

我想模仿我自己的類來分配結構與可變元組的工作。

如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源代碼的指針,這將不勝感激。謝謝。

回答

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 
+0

由於swartzrock,我看着該方法和幾乎嘗試過。現在會這樣做。 – javadba

相關問題