3 回答

TA貢獻1836條經驗 獲得超5個贊
new Elem(prefix: String, label: String, attributes: MetaData, scope: NamespaceBinding, child: Node*)
new Elem(prefix, label, attributes, scope, child1, child2, ... childN)
child1
, child2
1Node*
_*
參數部分的最后一個值參數可以是由“*”(例如(.,x:t*)連接的?)。方法中這種重復參數的類型是序列類型Scala.Seq[T]。方法具有重復參數T*的變量數為T型。也就是說,如果方法m具有類型(p1:t1),則為。....,pn:TN,PS:S*)U被應用于參數(E1,。....,ek)其中k>=n,則該應用程序中的m具有類型(p1:t1,。....,pn:TN,PS:S.....,ps0S)U,類型S的k‘n出現,其中超過ps的任何參數名稱都是新的。 這個規則的唯一例外是,如果最后一個參數通過_*類型注釋被標記為序列參數。如果上面的m被應用于參數(E1,。....,en,e0:*),則該應用程序中的m類型為(p1:t1,。....,pn:TN,PS:scala.Seq[S])

TA貢獻1878條經驗 獲得超4個贊
child ++ newChild
-序列 :
-類型歸屬,幫助編譯器理解的提示,該表達式具有什么類型? _*
-接受任何值+vararg運算符的占位符
child ++ newChild : _*
Seq[Node]
Node*

TA貢獻1845條經驗 獲得超8個贊
val x : Seq[Seq[Int]] = Seq(Seq(1),Seq(2))def f(arg: Seq[Any]*) : Int = { arg.length}f(x) //1 as x is taken as single argf(x:_*) // 2 as x is "unpacked" as a Seq[Any]*
:_*
:_*
添加回答
舉報