V8s-Modulo-Rechnung

Was ist Modulo (mod) im klassisch-mathematischen Sinn?

Die Modulo-Rechnung verwendet den Rest bei der Division zweier ganzer Zahlen. (Das Ergebnis der Division wird verworfen.) Der Rest ist immer eine Ganzzahl.

Achtung: WEBSALE V8s nutzt die Modulo-Rechnung leicht abweichend vom Standard. Wenn das Ergebnis der Modulo-Rechnung 0 wäre, verwenden einige WEBSALE-Tags das Argument statt des Ergebnisses der Modulo-Rechnung.

Beispiele für Modulo im streng mathematischen Sinn:

10 mod 3 = 1 (sprich: "zehn modulo drei ist gleich eins"), denn 10:3=3, Rest 1

15 mod 3 = 0, denn 15:3=5, Rest 0

7 mod 2 = 1, denn 7:2=3, Rest 1

Verschiedene WEBSALE-Tags (wie z. B. BASKET-PR-Position(), DC-Int1…3mod(), WS-Counter2Inc() und andere) verwenden die Modulo-Rechnung bei Zählern, um in Schleifen z. B. Tabellenspalten wiederkehrende, abwechselnde CSS-Klassen zuzuordnen. Daher muss vermieden werden, dass als Ergebnis 0 entsteht.

Um das zu erreichen, wird in den Fällen der Modulo-Rechnung, in denen das Ergebnis 0 wäre, nicht das Ergebnis der Modulo-Rechnung verwendet, sondern einfach das Argument des Tags (die Zahl in Klammern bei Tags wie WS-Counter2Inc()). Mathematisch ausgedrückt:

Dabei ist x die interne Zählervariable, die bei jeder Ausführung des Tags hochgezählt wird (z. B. bei jedem Schleifendurchlauf), und n ist das Argument des Tags. Wenn ein Counter in einer Schleife benutzt wird, gibt er beim ersten Schleifendurchlauf 1 aus, beim zweiten 2, , beim n-ten n, beim n+1-ten wieder 1.