scala中的三重问号意味着什么?

时间:2015-07-08 19:59:06

标签: scala

我无法在任何地方找到它的功能。 例如,假设你有一个方法,如

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

三重问号意味着什么?

2 个答案:

答案 0 :(得分:24)

???中的{p> Predefdefined,只会引发NotImplementedError

def ??? : Nothing = throw new NotImplementedError

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

答案 1 :(得分:0)

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