Scala Aktualisierung der Array-Elemente
Ich hätte nie gedacht, ich wäre zu Fragen, wie eine einfache Frage, aber wie aktualisiere ich auf die array-Elemente in scala
Ich habe erklärt die innere Funktion in meiner Main-Objekt, und ich habe so etwas wie dieses
object Main
{
def main(args: Array[String])
{
def miniFunc(num: Int)
{
val myArray = Array[Double](num)
for(i <- /* something*/)
myArray(i) = //something
}
}
}
aber ich bekomme immer eine exception, Könnte jemand mir erklären, warum und wie kann ich dieses problem lösen?
- Was verwirrt mich ein bisschen, manchmal, wenn Arrays und andere collections in Scala sind, sagte unveränderlich, so würde man davon ausgehen, dass die Aktualisierung von array-Elementen ist nicht möglich (wie z.B. in Scala Sattel) aber was es eigentlich bedeutet ist, dass, sobald Sie erzeugt wurden, als eine der Dimensionen kann nicht verändert werden, der Inhalt aber ja ...
- Viele Sammlungen sind unveränderlich in der Scala, aber Arrays sind nur Java-Arrays, und Sie sind veränderlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie füllen Sie die fehlenden details? Zum Beispiel, was geht, wo sind die Kommentare? Was ist die Ausnahme? (Es ist immer am besten, um eine Frage mit einem vollständigen code-Beispiel und machen deutlich was das problem ist.)
Hier ist ein Beispiel des Array-Aufbau und Aktualisierung:
Sind Sie vielleicht die Annahme, dass
num
stellt die Größe des array? In der Tat, es ist einfach das (einzige) element in deinem array. Vielleicht wollte Sie etwas wie dieses:new
Schlüsselwort.Array(1, 2, 3)
ist nur ein array mit den Elementen 1, 2 und 3.