Він "заплескає" 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 У SLS це ім'я не вказано, але ось деталі. Важливо отримати те, що він змінює те, як Scala прив'язує аргументи до методу з повторними параметрами (як Node*
зазначено вище).
_*
Тип анотації покрита «4.6.2 Повторні параметри» СЛС.
Останнє значення параметра розділу розділу може бути задано символом «*», наприклад (..., x: T *). Тип такого повторного параметра всередині методу - це тип послідовності scala.Seq [T]. Методи з повторними параметрами T * приймають змінну кількість аргументів типу T. Тобто, якщо метод m з типом (p1: T1,., Pn: Tn, ps: S *) U застосовується до аргументів (e1, ..., ek), де k> = n, то m дорівнює прийнято у цій програмі мати тип (p1: T1,.Винятком з цього правила є те, якщо останній аргумент позначений як аргумент послідовності за допомогою анотації типу _ *. Якщо m вище застосовується до аргументів (e1, ..., en, e0: _ *), то тип m у цій програмі вважається рівним (p1: T1,.., Pn: Tn, ps: scala .Seq [S])