Scala:我可以将选项转换为varargs吗?

时间:2011-11-30 03:04:38

标签: scala option variadic-functions

我有Option

val myOption: Option[Int] = fooBar()

采用varargs参数的方法:

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

有没有办法将该选项作为varargs参数传递给方法?即如果选项为Some(3),则传递3,如果为None,则传递任何内容。

尝试答案 scala: How to pass an expanded list as varargs into a method?我尝试明确输入参数:

myMethod("xyz", myOption: _*)

但编译器抱怨它需要Seq[Int]。似乎Option没有实现Seq,并且没有预先隐式转换。

鉴于编译器需要Seq,我当然可以通过myOption.toList: _*,但是有更好的方法吗?

1 个答案:

答案 0 :(得分:5)

myMethod("xyz", myOption.toSeq: _*)