2017-11-23 9 views

Antwort

2

Ihr Fehler liegt in der Zeile locations ::: List(Location(x, y)). Dies verkettet die Listen, aber nichts mit dem Ergebnis. Wenn Sie es durch locations = locations ::: List(Location(x, y)) ersetzen, würden Sie Ihr gewünschtes Ergebnis haben.

Allerdings gibt es mehrere idiomatische Möglichkeiten, dieses Problem in Scala zu lösen. In Scala ist das Schreiben von unveränderlichem Code der bevorzugte Stil (d. H. Verwenden Sie val anstelle von var, wo es möglich ist).

Hier ein paar Möglichkeiten, es zu tun:

Mit Ausbeute:

val location = for (x <- 0 to 10; y <- 0 to 10) yield Location(x, y) 

tabellieren Verwendung:

val location = List.tabulate(11, 11) { case (x, y) => Location(x, y) } 

Noch kürzere:

val location = List.tabulate(11, 11)(Location) 

Edit: nur bemerkte, dass Siehattenwas inklusive ist. 0 until 10 ist inklusive-exklusiv. Ich habe die Argumente geändert, um 11 zu tabellieren.

Verwandte Themen