我看到了这个符号
???
在 scala 代码中使用,但是我不知道它是伪代码还是实际的 scala 代码,但我的 scala Eclipse IDE 没有标记它,并且 Eclipse 工作表实际上评估了它。 我无法通过谷歌搜索找到任何东西。 任何帮助将不胜感激。 谢谢
最佳答案
是的,这是一个有效的标识符。
从Scala 2.10开始,Predef中有一个???
方法它只是抛出一个 NotImplementedError
。
def ??? : Nothing = throw new NotImplementedError
这旨在用于快速绘制一些代码的框架,将方法的实现留到以后,例如:
class Foo[A](a: A) {
def flatMap[B](f: A => Foo[B]): Foo[B] = ???
}
因为它的类型为 Nothing
(它是所有其他类型的子类型),所以它将对任何值进行类型检查,从而允许您编译不完整的代码而不会出现错误。在练习中经常会看到这种情况,需要编写解决方案来代替 ???
。
关于scala - 是 ??? scala 中的有效符号或运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18936118/