2
私はScalaを初めて使いました。私はゲームを作っていて、キャラクターが訪問できる場所のリストを持っています。タイプはLocation
です。私はこれを達成するためのケースクラスとコンパニオンオブジェクトを持っています。スカラ前方参照
LinkedLocations
内側Location
は、タイプLocation
の配列であり、場所につながる任意の数の場所を持つことができます。この場合、部屋1は部屋2につながり、その逆もあります。
case class Location(name: String, desc: String, linkedLocations: Array[Location]){}
object Location {
val none: Location = Location("none","none",Array(none))
val room1: Location = Location("room 1","you are in room 1",Array(room2))
val room2: Location = Location("room 2","you are in room 2",Array(room1))
room1.linkedLocations.foreach(location=>println(location.name))
}
私はそれらをレイジーな値にしようとしましたが、スタックのオーバーフローが発生しました。 このような前方参照問題を修正するにはどうすればよいですか? これを設計するより良い方法がありますか?