【发布时间】:2015-12-09 12:48:15
【问题描述】:
下面的代码几乎是不言自明的:
class EtaExpansionOnNonMethods { // or object
val zero = 0
val zeroEta = zero _ // compiles: () => Int
def f {
val one = 1
val oneEta = one _ // compilation error
}
}
错误:(7, 18) _ 必须遵循方法;不能跟随 Int
val oneEta = 一 _
^
为什么在 e.g. 上进行 eta-expansion允许Int 字段(导致() => Int)但不在Int 局部变量上(导致编译错误)?我使用的是 2.11.7 版本。
【问题讨论】:
标签: scala