0

是否可以将 T 类型的方法转换为 T 类型的函数?例如,如果我有

case class T {
  def foo(u : U) : Unit = ???
}

可以以某种方式将 foo 作为参数 somef 传递给

function bar(somef : (T, U) => Unit)

到目前为止,我已经把它从这样的类型中拉出来了:

def foo_(t : T, u: U) = t.foo(u)

但这并不是太干,甚至可以说是湿的。

4

1 回答 1

2

是的:bar(_.foo(_))在你的情况下。如果 Scala 没有足够的信息来推断参数的类型(例如,如果你有bar[T1, T2](somef: (T1, T2) => Unit)),你可以使用类似的东西(_: T).foo(_: U)

于 2013-09-13T08:57:44.707 回答