17
Scalaのコードは単純です入力します。それはrecursive value x needs type
を報告するのはなぜは、なぜ、このScalaのコードはコンパイルエラーを報告します。再帰的な値xのニーズが
val id = x.id.get
:
case class X(id: Option[String] = None, username: Option[String])
object X {
def create(x: X): X = {
x.copy(id = Some("111"))
}
}
class Test {
def test() {
val x = X.create(X(
username = Some("Hello, world!")))
val id = x.id.get // !!! reports: recursive value x needs type
}
}
はラインに注意してください?それはOKになります
val dd = x.id.get
:として私は、変数名を変更した場合
。
PS:Scalaのバージョンは次のとおりです。ケースクラスX
の定義にid
のデフォルト引数を削除2.9.1.final
興味深い...私はちょうどそれをつぶやいた... http://bit.ly/zU52GP –
投稿:https://issues.scala-lang.org/browse/SI-5434 – Freewind
実際には[SI-5091](https://issues.scala-lang.org/browse/SI-5091)の複製です...この例をそのチケットに追加してください。 –