Scala中的eta扩展是多少?

我是Scala的新手。我刚刚听到了“ eta扩展”一词,并且大致知道这意味着将方法扩展为功能对象。但是我发现SO中几乎没有资源可以系统地介绍它。


我对eta扩展在Scala中的工作方式感到好奇。eta扩展需要哪些方案?以及如何在Scala中实现eta扩展?


我大致知道在这种情况下:


def someMethod(x: Int): Int = x * x

someMethod _ 大致会转换为新的函数对象,如下所示:


new Function1[Int, Int] {

  def apply(x: Int): Int = x * x

}

这是Scala的全部功能吗?


POPMUISE
浏览 380回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP