【发布时间】:2011-11-03 00:01:16
【问题描述】:
假设你有以下几点:
foo(x: String)(y: Int): Int
foo(x: String)(y: Double): Int
Scala 不允许这样的表达。据我所知,原因是 foo("asdf") 没有明确定义的类型(它是 Int => Int 或 Double => Int)。
有什么理由不应该允许这种“多类型”函数吗?
【问题讨论】:
-
Scala 允许您定义这对重载方法,但是任何调用都是模棱两可的,原因如下 Martin 所述。相关:stackoverflow.com/questions/2510108/…