Es tritt ein Problem auf, bei dem ich private Konstanten am Anfang einer Scala-Schrittdefinitionsdatei festlege, die auf einem zu füllenden Listenpufferelement basiert 'IndexOutOfBoundsException', weil die Liste anfänglich leer ist und erst später in einer for-Schleife gefüllt wird. Zum Beispiel habe ich die folgenden zwei Konstanten:Zugriff auf Konstanten, die auf einen aufzulösenden Listenpuffer angewiesen sind. Scala
private val ConstantVal1= globalExampleList(2)
private val ConstantVal2= globalExampleList(3)
globalExampleList weiter aufgefüllt wird unten in der Datei für Schleife eine Verwendung:
for (i <- 1 to numberOfW) {
globalExampleList += x.xy }
Diese Liste Buffer so viele Werte addiert zu einem globalen wandelbar erforderlich Listenpuffer.
Gibt es eine bessere Möglichkeit, diese Konstanten zu deklarieren? Ich habe versucht, sie nach der for-Schleife zu deklarieren, aber andere Methoden sind nicht in der Lage, auf diese zuzugreifen. Ich habe ungefähr 4 verschiedene Methoden innerhalb derselben Datei, die diese Werte verwenden, und statt jedes Mal über Index darauf zuzugreifen, dachte ich, es wäre besser, sie als eine Konstante zu deklarieren, um sie ordentlich und effizient zu halten, wenn sie geändert werden müssen.
Dank
danke :) gibt es einen besseren Weg ohne die Mutationen und Nebenwirkungen, aber immer noch das gleiche Ergebnis zu erzielen. Ich lerne immer noch den besten Weg, in Scala zu programmieren, also wäre jede Information großartig, von der ich lernen könnte – user610