【问题标题】:What does the triple question mark mean in scala?scala中的三重问号是什么意思?
【发布时间】:2021-08-08 06:37:46
【问题描述】:

我似乎无法在任何地方找到它的作用。 例如,假设您有一个方法,例如

def SomeFunction(a: String): String ={
       ???
}

三个问号代表什么?

【问题讨论】:

标签: scala


【解决方案1】:

??? 在Predef 中是defined 并简单地抛出一个NotImplementedError:

def ??? : Nothing = throw new NotImplementedError

它的返回类型为Nothing,它是每种类型的子类型,因此可以用来代替任何返回值。

【讨论】:

    【解决方案2】:

    虽然https://stackoverflow.com/a/31302610/16372300 中给出的答案在技术上是准确的,但它并不能回答您可能会遇到 ??? 的原因,尤其是在教程和演示文稿中。在最初的问题中,SomeFunction 被定义为一个方法,它接受一个字符串类型的输入并返回一个字符串。这基本上是一个存根,允许您继续使用 SomeFunction 进行编码,但在您实际提供实现 SomeFunction 的定义之前无法运行代码。

    【讨论】:

      猜你喜欢
      • 2012-04-19
      • 2021-03-29
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2014-07-28
      • 2014-01-16
      • 1970-01-01
      相关资源
      最近更新 更多