I have an Option
:
val myOption: Option[Int] = fooBar()
And a method that takes a varargs param:
def myMethod(a: String, b: Int*) = {...}
Is there any way to pass the option to the method as a varargs param? i.e. if the option is Some(3)
then pass 3, and if it is None
then pass nothing.
Experimenting with the answer to scala: How to pass an expanded list as varargs into a method? I tried explicitly typing the argument:
myMethod("xyz", myOption: _*)
but the compiler complains that it requires a Seq[Int]
. It seems that Option
does not implement Seq
and there is no predef implicit conversion.
Given that the compiler wants a Seq
, I can of course pass myOption.toList: _*
, but is there a nicer way?
myMethod("xyz", myOption.toSeq: _*)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With