5

我看到了符号

???

在 scala 代码中使用,但是我不知道它是伪代码还是实际的 scala 代码,但是我的 scala eclipse IDE 没有标记它,并且 eclipse 工作表实际上会评估它。我无法通过谷歌搜索找到任何东西。任何帮助将不胜感激。谢谢

4

2 回答 2

12

是的,这是一个有效的标识符。

从 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(它是所有其他类型的子类型),它将代替任何值进行类型检查,从而允许您编译不完整的代码而不会出错。它经常出现在练习中,需要编写解决方案来代替???.

于 2013-09-21T18:35:24.890 回答
1

要搜索 ASCII 或 unicode 字符串的方法名称:


所以搜索:https ://stackoverflow.com/search?q=[scala]+%22%3F%3F%3F%22

找到这个线程Scala and Python's pass


scalex 涵盖 scala 2.9.1 和 scalaz 6.0 http://scalex.org/?q=%3C%3A%3C

于 2013-09-23T11:21:30.997 回答