Ответ 1
foo(args:_*)
делает трюк. Вместо того, чтобы применять последовательность как один единственный аргумент, каждый элемент в последовательности будет использоваться в качестве аргумента.
Для функции, которая принимает переменное число аргументов, например
def foo(os: String*) =
println(os.toList)
Как передать последовательность аргументов функции? Я хотел бы написать:
val args = Seq("hi", "there")
foo(args)
Очевидно, что это не сработает.
foo(args:_*)
делает трюк. Вместо того, чтобы применять последовательность как один единственный аргумент, каждый элемент в последовательности будет использоваться в качестве аргумента.