【问题标题】:Scala Overloaded Method Needs Return TypeScala重载方法需要返回类型
【发布时间】:2015-03-23 15:08:41
【问题描述】:

为什么 Scala 告诉我需要为重载方法添加返回类型?

case object MyObject {

    def apply(a: String) = apply(a, "")

    def apply(a: String, b: String) = a concat b
}

编译错误:

overloaded method apply needs result type

【问题讨论】:

  • 我认为类型推断器不会喜欢它。
  • @m-z 有趣的是,我在写这篇文章时没有收到任何警告。
  • 我不知道确切的原因,但最好在所有公共方法中包含返回类型。

标签: scala


【解决方案1】:

here 的讨论描述了 Scala (1) 可能使用返回类型来查找正确的函数,并且 (2) 会遇到隐式参数的问题。似乎他们决定强制返回类型on some functions 以捕获所有这些潜在情况。

【讨论】:

    猜你喜欢
    • 2011-03-08
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多