Ihr unmittelbarstes Problem ist, dass Sie versuchen, den Wert einer unveränderlichen Variablen zu ändern (mit let
deklariert), wenn Sie es mit var
deklarieren sollten. Dies wird jedoch dieses spezielle Problem nicht lösen, da Ihre name
Variable eine Kopie des zugehörigen Wertes enthält, aber im Allgemeinen ist dies etwas, was Sie beachten sollten.
Wenn Sie dies lösen wollen, müssen Sie die Funktion adjust()
als Mutationsfunktion deklarieren und sich selbst von Fall zu Fall neu zuweisen, um ein neuer Enum-Wert mit einem assoziierten Wert zu sein, der sich aus dem alten und dem neuen zusammensetzt ein. Zum Beispiel: