Scala: передать функции Seq в var-args
Для функции, которая принимает переменное количество аргументов, например
def foo(os: String*) = println(os.toList)
Как передать последовательность аргументов функции? Я хотел бы написать:
val args = Seq("hi", "there") foo(args)
Очевидно, это не работает.
- Скала для странного поведения
- В чем разница между =>, () => и Unit =>
- Как импортировать build.gradle в IntelliJ
- Как перечислить все файлы в подкаталоге в scala?
- Могу ли я получить список времени компиляции всех объектов case, которые происходят из запечатанного родителя в Scala?
- Каковы отношения между Any, AnyVal, AnyRef, Object и как они отображаются при использовании в Java-коде?
- Что такое функция приложения в Scala?
- Откуда возникает «плоская карта, которая имеет ***» идиоматическое выражение в Scala?
- Как работает «scala.sys.process» от Scala 2.9?
- частный против частного
- Отладка Scala-кода с помощью простого-build-инструмента (sbt) и IntelliJ
- Как вы делаете инъекцию зависимостей с шаблоном Cake без hardcoding?
- Что означает => и () => среднее значение в Scala
foo(args:_*)
делает трюк. Вместо того, чтобы применять последовательность как один единственный аргумент, каждый элемент в последовательности будет использоваться в качестве аргумента.