In Ihrem Beispiel rufen Sie eher eine Unterroutine als bedingungslos und dauerhaft den Kontrollfluss übertragen (was ist was goto
tut).
Wenn Sie Code danach einsetzen foo();
, dieser Code würde danach ausgeführt werden foo()
wird genannt.
Frage
Ich weiß nicht, wie es früher funktioniert hat, also habe ich keine Ahnung, worauf er sich bezieht.
Aber nimm JS:
var x = 5;
var foo = function(y) { console.log(2); };
var y = 6;
foo(); // is this not in essence a goto statement?
Wenn nicht, was war dann anders an GOTO -Aussagen?
Hätte Dijkstra aus diesen Gründen gegen JS ausgesprochen?
Lösung
In Ihrem Beispiel rufen Sie eher eine Unterroutine als bedingungslos und dauerhaft den Kontrollfluss übertragen (was ist was goto
tut).
Wenn Sie Code danach einsetzen foo();
, dieser Code würde danach ausgeführt werden foo()
wird genannt.
Andere Tipps
Nein, dies ist im Wesentlichen eine "Gosub" -Aussage. Hast du das Originalpapier gelesen? Imho Dijkstra wurde beleidigt, indem Sie in Ihrem Code "verschmieren".
Dies ist eine Sprungerklärung, keine GOTO -Aussage. Daher erstellt es keinen Spaghetti -Code.