我是Scala的新手,他正在寻找一种创建方法/函数的方法,该方法/函数将可变数量的函数作为参数。
常规VarArgs中使用*
表示法的示例
def someMethod(aNumber: Int, multipleFunctions: Int => Boolean*) = {
var flag = true
for (func <- multipleFunctions; if (!func(aNumber)) flag = false
flag
}
我意识到我可以接受一系列函数,但是如果它起作用的话,感觉必须有一种方法可以使用var args。
答案 0 :(得分:1)
*
令牌的评估优先于=>
,因此您可以通过将Int => Boolean
类型括在括号中来解决问题:
def someMethod(aNumber: Int, multipleFunctions: (Int => Boolean)*)
// ^ here! ^