Scala 如何将分部函数传递给包含分部函数的列表?

Scala 如何将分部函数传递给包含分部函数的列表?,scala,Scala,我有以下代码: def bigger[T <% Ordered[T]](compare: T)(a: ResultSet, columnName: String): Boolean = a.getObject(columnName).asInstanceOf[T] > compare var rules = List[(ResultSet,String) => Boolean]() rules += bigger[Int](1000) //doesn't work

我有以下代码:

def bigger[T <% Ordered[T]](compare: T)(a: ResultSet, columnName: String): Boolean =
  a.getObject(columnName).asInstanceOf[T] > compare

var rules = List[(ResultSet,String) => Boolean]()   

rules += bigger[Int](1000) //doesn't work, compile error

val rule = bigger(1000) _ _ 
rules += rule //still doesn't work, compile error
def biger[T比较
变量规则=列表[(结果集,字符串)=>布尔]()
规则+=biger[Int](1000)//不起作用,编译错误
val规则=更大(1000)\uu
规则+=规则//仍然不起作用,编译错误

我需要更改什么才能使其工作?

您只需要使用一个
\u
并使用
+:=
将元素添加到
规则中:

rules +:= bigger[Int](1000) _

谢谢,但是为什么只需要一个?该函数包含两个参数。
不是参数的占位符,而是告诉编译器创建一个表示部分应用的函数或方法的闭包。它与创建匿名函数时使用的
完全不同。可以补充一点,您可以使用
>:+=
如果要附加元素,或
+:=
如果要预附加元素。