Scala - 可变数量的函数参数作为方法参数
Scala - Variable amount of function arguments as method parameters
我是一个对 Scala 着迷的新手,正在寻找一种方法来创建一个 method/function 将可变数量的函数作为参数。
在常规 VarArgs
中使用 *
符号的示例
def someMethod(aNumber: Int, multipleFunctions: Int => Boolean*) = {
var flag = true
for (func <- multipleFunctions; if (!func(aNumber)) flag = false
flag
}
我意识到我可以接受函数数组,但如果它可行,我感觉必须有一种方法可以使用 var args 来实现它。
*
标记的计算优先于 =>
,因此您可以通过将 Int => Boolean
类型括在括号中来简单地解决您的问题:
def someMethod(aNumber: Int, multipleFunctions: (Int => Boolean)*)
// ^ here! ^
我是一个对 Scala 着迷的新手,正在寻找一种方法来创建一个 method/function 将可变数量的函数作为参数。
在常规 VarArgs
中使用*
符号的示例
def someMethod(aNumber: Int, multipleFunctions: Int => Boolean*) = {
var flag = true
for (func <- multipleFunctions; if (!func(aNumber)) flag = false
flag
}
我意识到我可以接受函数数组,但如果它可行,我感觉必须有一种方法可以使用 var args 来实现它。
*
标记的计算优先于 =>
,因此您可以通过将 Int => Boolean
类型括在括号中来简单地解决您的问题:
def someMethod(aNumber: Int, multipleFunctions: (Int => Boolean)*)
// ^ here! ^