これが私の試みです:
case class A(val a: A, val b: Int){
override def toString() = b.toString
}
lazy val x: A = A(y, 0)
lazy val y: A = A(z, 1)
lazy val z: A = A(x, 2)
問題は、x で何かをしようとしたときに発生します。x が評価されるようにすると、x、y、z を通る循環評価が開始され、スタック オーバーフローで終了します。val a を遅延計算するように指定する方法はありますか?