scala - 是 ??? scala 中的有效符号或运算符

标签 scala

我看到了这个符号

???

在 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/

相关文章:

java - 斯卡拉-Java =? (或 Clojure - Java =?)

scala - 为什么 `.asInstanceOf` 有时会抛出,有时不会?

scala - 我可以在 Scala 中创建一个使用不同 equals/hashCode/compare 实现的集合吗?

安装 Mac OS X Sierra (Mac OS 10.12) 后 Eclipse scala-ide 将无法启动

scala - 如何将 "instantiate"抽象类放在父类(super class)中?

scala - Playframework、scala 案例类和属性未找到

scala - 如何模拟子 Actor 来测试 Akka 系统?

scala - `forSome { val ` 的样本?

scala - 在 Scala 工作表中打印 Futures 的结果

scala - 理解偏函数中的 'case'关键字