5
Je suis sûr que la réponse est assez simple, mais je me suis coincé dans ce:Varargs puzzle?
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)
^
Comment je construis un « Int * »?
oui! ça marche! ... se sent un peu comme "forcer" le type, mais – GClaramunt
Eh bien, c'est forcer le type. Le type correct est une liste d'arguments, pas un argument qui est une liste. D'ailleurs, cela fonctionne pour n'importe quel type de séquence, ainsi que tout type qui peut être converti en une séquence, donc vous pourriez avoir passé 'List' directement. En outre, il est symétrique. Vous pouvez faire 'xs match {case List (ys @ _ *) => ...}'. –