Scala 为什么没有';不允许在方法内部重载方法(例如重载闭包)?
以下是一个最小化的示例:Scala 为什么没有';不允许在方法内部重载方法(例如重载闭包)?,scala,compiler-construction,Scala,Compiler Construction,以下是一个最小化的示例: 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编译器一直告诉我,方法giveMeBigDec
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编译器一直告诉我,方法giveMeBigDecimal定义了两次
我知道该怎么做,但很好奇为什么会存在这样的限制。这是Scala的实现细节(不幸的是)Scala将本地方法实现为闭包类型的变量,不允许在同一个方法中有两个同名的变量。可能重复-@Rogach它主要询问并回答如何修复而不是为什么