Ich mache dieses Problem set "FizzBuzz", und meine switch-Anweisung gibt mir einige Probleme, hier ist mein Code:
%Vor%Wenn Sie mir Hinweise / Hinweise geben könnten, anstatt mir den richtigen Code zu geben, wäre das eine Steigerung: D Ich würde es lieber selbst lösen, aber ein paar Hinweise könnten mich aus diesem Loch bringen.
Ein bisschen spät, aber nur um die verschiedenen Antworten hinzuzufügen. Ich glaube, die elegante Lösung, die jetzt verwendet wird, ist diese:
%Vor%Swift kann Tupel einschalten (sorta-Strukturen, aber im Handumdrehen ohne Definition irgendwo anders im Code erstellt). Dann können Sie in den Fallbeschriftungen nach mehreren Werten gleichzeitig suchen, was ideal für FizzBuzz ist!
Um es ein wenig zu brechen, diesen Teil
%Vor%erzeugt ein Tupel mit zwei booleschen Werten. Dann ein Case-Label wie folgt
%Vor% überprüft, ob beide Werte (im Wesentlichen n%3==0
und n%5==0
) wahr sind und gibt "FizzBuzz"
Das macht es sehr leicht erweiterbar. Sie können dem switch-Argument eine dritte Definition und Ihren Fällen eine dritte wahr / falsch hinzufügen, und Ihr FizzBuzz kann ein FizzBuzzJazz werden. Sie können die Werte im Tupel auch benennen, indem Sie einfach Beschriftungen wie
hinzufügen %Vor%macht den Code in einigen Fällen besser lesbar.
Tags und Links swift switch-statement fizzbuzz