Ich habe einen JS-Code, den ich portieren will. Dabei habe ich aber Verständnisprobleme mit multiplen Zuweisungen innerhalb einer Zeile in einem Increment-Präfix. Die betreffende Zeile lautet:
Zunächst einmal gibt's da die Zuweisung an
richtig? Als nächstes werden dort die Array-Indizes inkrementiert, und zwar vor der Verwendung. Nach welcher Reihenfolge wird das ausgeführt?
Ich komme hier echt durcheinander. Letztlich habe ich versucht, die Zeile:
mal zu übertragen in eine Version für Dreijährige:
aber das macht definitiv nicht dasselbe wie der Ursprungscode. Kann mir jemand den Knoten im Hirn lösen?
Javascript:
lastX = x[currentRow] = (x0[currentRow] + a * (lastX + x[++currentRow] + x[++lastRow] + x[++nextRow])) * invC;
Zunächst einmal gibt's da die Zuweisung an
lastX
und die Zuweisung an x[currentRow]
. Ich denke, das wird von rechts nach links geparst, oder? Also müsste a = b = c;
identisch sein mit
Javascript:
b = c;
a = b;
richtig? Als nächstes werden dort die Array-Indizes inkrementiert, und zwar vor der Verwendung. Nach welcher Reihenfolge wird das ausgeführt?
Ich komme hier echt durcheinander. Letztlich habe ich versucht, die Zeile:
Javascript:
lastX = x[currentRow] = (x0[currentRow] + a * (lastX + x[++currentRow] + x[++lastRow] + x[++nextRow])) * invC;
mal zu übertragen in eine Version für Dreijährige:
Javascript:
x[currentRow] = (x0[currentRow] + a * (lastX + x[currentRow + 1] + x[lastRow + 1] + x[nextRow + 1])) * invC;
lastX = x[currentRow];
currentRow = currentRow + 1;
lastRow = lastRow + 1;
nextRow = nextRow + 1;
aber das macht definitiv nicht dasselbe wie der Ursprungscode. Kann mir jemand den Knoten im Hirn lösen?