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