Zähler mit Schrittweite und Rücksetzung durch Closure

JavaScript Medium closures

Aufgabe «Zähler mit Schrittweite und Rücksetzung durch Closure»

Implementieren Sie eine Funktion createCounter, die einen Startwert start und eine Schrittweite step entgegennimmt. Die Funktion soll ein Objekt mit drei Methoden zurückgeben: increment() – erhöht den aktuellen Wert um step und gibt ihn zurück, decrement() – verringert ihn um step und gibt ihn zurück, reset() – setzt den Wert auf den ursprünglichen start zurück. Verwenden Sie Closures, um den Zustand zu speichern. Der Startwert start und die Schrittweite step sind ganze Zahlen.

Eingabeformat

Erste Zeile: start (ganze Zahl). Zweite Zeile: step (ganze Zahl). Dritte Zeile: Anzahl der Aufrufe n (ganze Zahl, 1 ≤ n ≤ 20). Danach folgen n Zeilen, jede enthält einen Befehl: 'increment', 'decrement' oder 'reset'.

Ausgabeformat

Geben Sie für jeden Befehl den aktuellen Wert des Zählers nach Ausführung des Befehls aus, jeden auf einer neuen Zeile.

Beispiele

Beispiel 1

EINGABE
10 3 3 increment increment decrement
AUSGABE
13 16 13

Beispiel 2

EINGABE
-5 2 4 decrement decrement increment reset
AUSGABE
-7 -9 -7 -5

Beispiel 3

EINGABE
5 4 6
AUSGABE
78.54 24.00
main.js