最小化示例如下:
object Main extends App {
def f = {
def giveMeBigDecimal(x: String) = BigDecimal(x)
def giveMeBigDecimal(x: Double) = BigDecimal(x)
(giveMeBigDecimal("1.0"), giveMeBigDecimal(1.0))
}
}
Scala 2.9.2 编译器一直这么说
method giveMeBigDecimal is defined twice
这是 Scala 的实现细节(不幸的是)进入了规范。 Scala 将本地方法实现为具有闭包类型的变量,并且在同一个方法中不允许有两个同名的变量。