Scala: Могу ли я преобразовать Option в varargs? - PullRequest
5 голосов
/ 30 ноября 2011

У меня есть Option:

val myOption: Option[Int] = fooBar()

И метод, который принимает параметр varargs:

def myMethod(a: String, b: Int*) = {...}

Есть ли способ передать параметр методу какVarargs Param?то есть, если опция Some(3), тогда передайте 3, а если это None, то ничего не пропустите.

Эксперимент с ответом на scala: Как передать расширенный список как varargs в метод? Я попытался явно ввести аргумент:

myMethod("xyz", myOption: _*)

, но компилятор жалуется, что для него требуется Seq[Int].Кажется, что Option не реализует Seq и не существует предварительно неявного преобразования.

Учитывая, что компилятор хочет Seq, я, конечно, могу передать myOption.toList: _*, но есть ли лучшеспособ

1 Ответ

5 голосов
/ 30 ноября 2011
myMethod("xyz", myOption.toSeq: _*)
...