【发布时间】:2012-07-12 21:23:37
【问题描述】:
我有以下代码,应该搜索一个数组并查看是否有任何内容与第二个参数匹配。
def any(check: Set[Any], expr: Boolean): Boolean = {
var checked = check.filter(_ => expr)
if (checked == Set())
return false
else
return true
}
它应该是这样调用的:
any(Set(3, 4, 5, 6), _ > 5)
但是当我调用它时:
error: missing parameter type for expanded function ((x$1) => x$1.$greater(5))
我对函数式语言和 Scala 的经验很少,所以,请给我一个详尽的解释,说明发生了什么以及如何解决它!
【问题讨论】:
-
糟糕,这是最后一分钟的编辑,我也遇到了布尔问题。
-
Scala 的类型系统非常强大,不幸的是,这让初学者有时很难理解,因为错误消息通常没有帮助。
标签: scala lambda functional-programming set scala-placeholder-syntax