我需要什麼是一個類XI可以用一個Map來構造,它將Strings帶入其他Strings或Maps中,將Strings轉換爲Strings,然後任意數量的其他實例十,用我有限的斯卡拉的把握,我知道我能做到這一點:如何在另一個構造函數中獲取類似地圖的糖
class Person (stringParms : Map[String, String],
mapParms : Map[String, Map[String, String]],
children : List[X]) {
}
但是,這並不顯得很斯卡拉上下的我」(「Scalish」「Scalerific」「Scalogical」???) d喜歡能夠做到的是:
Person bob = Person("name" -> "Bob", "pets" -> ("cat" -> "Mittens", "dog" -> "Spot"), "status" -> "asleep",
firstChild, secondChild)
我知道我ca n通過使用伴侶對象擺脫「新」,我確信我可以看看斯卡拉可變參數。我想知道的是:
- 我該如何使用 - >(或者一些類似似是而非的操作符)構造要在構造中構建Map的元素?
- 如何定義單個映射,以便它可以在兩個完全不同的類型之間進行類似Option的選擇,或者成爲遞歸樹,其中每個(指定)節點指向一個String形式的葉或另一個像它自己的節點?
的遞歸版本真正吸引我,因爲,雖然它並沒有解決一個問題,我今天居然有,它巧妙地映射到JSON的只包含對象和字符串(不含數字陣列)的一個子集。
任何幫助,一如既往,非常感謝。
注意到,有重複的參數和多個參數列表,所以你可以這樣寫頭:'class Person [X](str:Map [String,String] *)(map: Map [String,Map [String,String]] *)(a:List [X] *)' – coubeatczech 2011-01-06 12:53:24
@coubeatczech - děkuji。我知道有多個參數列表,但我從未想到這可能是對它們的完美使用。我必須調查如果第一個列表爲空,會發生什麼。 – Malvolio 2011-01-06 19:41:30