5
Jestem pewien, że odpowiedź jest dość prosta, ale utknąłem w tym:puzzle varargs?
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)
^
Jak zbudować „Int *”?
tak! to działa! ... czuje się trochę jak "zmuszanie" tego typu, ale – GClaramunt
Cóż, to wymusza typ. Poprawny typ to lista argumentów, a nie argument, który jest listą. Nawiasem mówiąc, działa on dla dowolnego typu sekwencji, jak również dowolnego typu, który można przekształcić w sekwencję, więc mógłbyś przekazać bezpośrednio "List". Ponadto jest symetryczny. Możesz zrobić "xs match {case List (ys @ _ *) => ...}". –