Meiner Meinung nach ist in dem konkreten Beispiel oben und auch bei meinem Programm mit FileInstall der Vorteil, dass man nach dem Return nur den Code hinzufügen muß, der neu ist und nicht wie bei Switch/Case jedesmal den gesamten Code wiederholen muß.
Ich würde auch lieber das mit if und return nehmen. Switch ist nur bei entweder-oder Auswahlen wirklich sinnvoll, bei aufeinanderfolgenden Abfragen wird if verwendet.
Mit Switch könnte man das auch so lösen: (unübersichtlich)
Spoiler anzeigen
Func _Switch($eject)
Local $satz = ""
Switch $eject
Case 3
$satz = " nun doch"
ContinueCase
Case 2
$satz = " Satz, der"&$satz
ContinueCase
Case 1
$satz = " ein unvollständiger"&$satz
ContinueCase
Case 0
$satz = "Dies ist"&$satz
Case Else
$satz = "Dies ist ein unvollständiger Satz, der nun doch vollständig ist."
EndSwitch
Return $satz
EndFunc
Hast du das gemessen oder weiß man sowas einfach?
Bei den if-abfragen muss jedes Mal der Wert der Variable neu ausgelesen werden und dafür muss in der Liste aller Variablen nachgeschlagen werden, welcher Wert dazu gehört steht.
Bei Switch wird der Wert einmal bestimmt und dann nur noch verglichen.
EDIT:
Letztendlich ist jede Konstruktion eigentlich nur JMP/GOTO.^^
Ja klar, aber letztendlich ist goto/jmp unübersichtlich, weil man nicht sofort weiß, wann und warum gesprungen wird.
Hat man hingegen While da stehen, weiß man, dass man eine Schleife hat, die solange gilt, wie die Bedingung zutrifft.
Bei goto kann als Schleife, if-Abfrage, Exception und möglicherweise sogar als Funktionsaufruf bzw. -rücksprung fungieren, man sieht aber nicht sofort, was es sein soll und wann es auftritt.