Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

varargs puzzle?

I'm sure the answer is pretty simple, but I got stuck in this:

Welcome to Scala version 2.7.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_14).
Type in expressions to have them evaluated.
Type :help for more information.

scala> def f(x:Int*)=0
f: (Int*)Int

scala> val xs:Seq[Int]=1::2::3::4::Nil
xs: Seq[Int] = List(1, 2, 3, 4)

scala> f (xs)
<console>:7: error: type mismatch;
 found   : Seq[Int]
 required: Int
       f (xs)
          ^

How I build an 'Int*' ?

like image 319
GClaramunt Avatar asked Dec 16 '09 13:12

GClaramunt


1 Answers

To unpack a sequence into the argument list, use _*

scala> f(xs: _*)
res1: Int = 0
like image 82
Ben James Avatar answered Nov 13 '22 06:11

Ben James