Scalaでは、未実装だがとりあえずコンパイルを通したいという時に、???を使用することができます。
未実装を???で実装する
未実装部分を???で実装する
object Sample {
def main(arts: Array[String]) : Unit = {
emptyMethod(1)
}
// 未実装メソッド
def emptyMethod(x: Int) = ???
}
上記のクラスはコンパイルは通すことができます。
しかし、呼び出し時は以下のようなエラーが発生します。
scala.NotImplementedError: an implementation is missing
???とは何か?
???は正式には、scala.Predef.??? です。
実装は以下のようにNotImplementedErrorを投げているだけになります。
???の実装
/** `???` can be used for marking methods that remain to be implemented. * @throws NotImplementedError when `???` is invoked. * @group utilities */ def ??? : Nothing = throw new NotImplementedError