自分自身をメンバーとして保持するクラスを使用する場合に注意すべきことはありますか?
これはうまくいきます (Scala-IDE の Scala Worksheet からのものです) が、これはある時点で私を苦しめます。
object Play {
println("Playing a bit") //> Playing a bit
case class X(a: Int = 1, x: List[X]){
}
val y = X(3, List()) //> y : Play.X = X(3,List())
val z = X(5, List(X(6, List()))) //> z : Play.X = X(5,List(X(6,List())))
println(z) //> X(5,List(X(6,List())))
println(z.x.head.a) //> 6
}