Scala:隐式转换来生成方法值?
如果我在 Scala 中有以下类:
class Simple {
def doit(a: String): Int = 42
}
并且该类的实例
o = new Simple()
是否可以定义一个隐式转换,将该实例和编译时已知的方法变形为这样的元组?
Tuple2 (o, (_: Simple).doit _)
我希望我能够本着以下精神提出一个用于注册函数回调的方法:
doThisLater (o -> 'doit)
我在功能上让我的函数回调基于 Retronym 对 上一个问题,但是添加这厚厚的语法糖层会很棒。
If I have the following class in Scala:
class Simple {
def doit(a: String): Int = 42
}
And an instance of that class
o = new Simple()
Is possible to define an implicit conversion that will morph this instance and a method known at compile into a tuple like this?
Tuple2 (o, (_: Simple).doit _)
I was hoping I could come up with one for registering function callbacks in the spirit of:
doThisLater (o -> 'doit)
I functionally have my function callbacks working based on retronym's answer to a previous SO question, but it'd be great to add this thick layer of syntactic sugar.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您只需对方法进行 eta 扩展即可。 REPL 会话示例,
You can just eta-expand the method. Sample REPL session,