値の初期化の問題が発生しました:
class Top
class X(val v : Top) extends Top
class Y extends Top
X は、X や Y など、他の Top 型のオブジェクトを使用して構築されたクラスです。つまり、それ自体を使用して構築される可能性があります。例えば、
val x = new X(x)
コンパイラは動作しますが、v フィールドにアクセスすると null が返されます。
scala> x.v
res9: Top = null
遅延初期化と名前によるパラメーターを試してみましたが、同じ結果が得られました。私の Scala バージョンは 2.9.1 です。誰でも私を助けることができますか?