我有一个名为or
的函数,例如,它被定义为:
or(filters: FilterDefinition*)
然后我有一个列表:
List(X, Y, Z)
我现在需要做的是像这样调用or
or(func(X), func(Y), func(Z))
正如预期的那样,列表的长度可能会发生变化。
在Scala中,最佳方法是什么?
我有一个名为or
的函数,例如,它被定义为:
or(filters: FilterDefinition*)
然后我有一个列表:
List(X, Y, Z)
我现在需要做的是像这样调用or
or(func(X), func(Y), func(Z))
正如预期的那样,列表的长度可能会发生变化。
在Scala中,最佳方法是什么?
看看这个例子,我将定义一个函数printme,它接受类型为String的可变参数
def printme(s: String*) = s.foreach(println)
scala> printme(List("a","b","c"))
<console>:9: error: type mismatch;
found : List[String]
required: String
printme(List(a,b,c))
你真正需要使用 :_*
运算符将列表解包为参数
scala> val mylist = List("1","2","3")
scala> printme(mylist:_*)
1
2
3
case class ExampleClass (d: Double*)
。 - Francesco Gusmeroli