一只甜甜圈
它“碎裂”1序列。查看构造函数签名new Elem(prefix: String, label: String, attributes: MetaData, scope: NamespaceBinding,
child: Node*)被称为new Elem(prefix, label, attributes, scope,
child1, child2, ... childN)但这里只有一个序列child1, child2等等,这样就允许将结果序列用作构造函数的输入。编码愉快。1这没有一个可爱的名字在补充,但以下是细节。重要的是,它改变了Scala用重复的参数将参数绑定到方法的方式(如Node*(见上文)。这个_*类型注释包括在补充劳工计划的“4.6.2重复参数”中。参数部分的最后一个值参数可以是由“*”(例如(.,x:t*)连接的fi)。方法中这种重复参数的类型是序列类型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])