【发布时间】:2018-06-28 01:44:39
【问题描述】:
我是一个对 Scala 着迷的新手,我正在寻找一种方法来创建将可变数量的函数作为参数的方法/函数。
在常规 VarArgs 中使用 * 符号的示例
def someMethod(aNumber: Int, multipleFunctions: Int => Boolean*) = {
var flag = true
for (func <- multipleFunctions; if (!func(aNumber)) flag = false
flag
}
我意识到我可以接受一组函数,但如果这样的话,感觉就像必须有一种使用 var args 的方法。
【问题讨论】:
-
fns: Function1[Int, Boolean]* -
我很确定您可以简单地将
Int => Boolean括在括号中,这样就可以解决问题。 -
@cchantep 那很快,非常感谢。我猜你已经知道了,但这也可以写成 Function[Int, Boolean],IntelliJ 似乎更喜欢这样。
-
@stefanobaghino 你说得对,我可能应该想到这一点,谢谢!
标签: scala function methods variadic-functions