是否可以将类型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)
但这并不太干,甚至可以说是相当湿。
是的:bar(_.foo(_))
根据您的情况。如果Scala没有足够的信息来推断参数的类型(例如,如果您有bar[T1, T2](somef: (T1, T2) => Unit)
),则可以改用类似的方法(_: T).foo(_: U)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句