Verlassen eines If then Konstrukts mit goto
Übersicht

![]() |
Ebola33Betreff: Verlassen eines If then Konstrukts mit goto |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo hi Leute,
ist ne blöde Situation in der ich mich hier gerade befinde. Ich habe bei meinem aktuellen Projekt leider versäumt ein wichtiges feature einzubauen.Muss das jetzt nachträglich machen. Dabei ist es zwingend erforderlich daß ich 3 ineinander verschachtelte IF THEN Konstrukte mittels GOTO verlasse. Ich weiss daß man dies nicht tun sollte und man es auf jeden Fall vermeiden kann, leider nicht mehr bei diesem Code. Das würde mich Stunden kosten. Es funktioniert ja auch so weit nur hab' ich Angst daß es vielleicht doch zu Fehlern kommen könnte. Hat jemand schon Erfahrungen damit gesammelt ? Weiss jemand ob der Compiler das einfach so wegsteckt ? Danke im vorraus. Mfg Ebola |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm, mit GOTO Auf keinen Fall, in Funktionen Probieren zu Springen
Möglichst nicht in schleifen Springen Achtung, Variablen bleiben erhalten! Gosub zum Wieder Zurückspringen mit Return |
||
between angels and insects |
![]() |
Ebola33 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naj, aus ner schleife könnte ich ja mit exit kommen. Der code befindet sich im mainloop und sonst in keiner schleife. Ich springe auch in keine andere schleife oderso. Ich überspringe damit quasi 3 endif's. | ||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo, das geht schon, mach ich manchmal auch bei einfacheren Programmen..... | ||
Jake |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Funktioniert ohne Probleme!
Hardcore-Programmierern kräuseln sich da die Zehennägel, aber schließlich nehmen wir ja Blitz, weil es das Leben vereinfachen soll, da kann man auch mal sündigen. Und wenn du versprichst, dafür an anderer Stelle ein globale Arrays durch Types zu ersetzen, ist das ok... Aber paß auf, daß dich keiner sieht, wenn du diese vier Buchstaben eintippst! |
||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja Jake, auch in BB sollte man Goto weitgehenst vermeiden.
Das du BB so als Lullisprache darstellst ist auch nicht richtig... Und ob man nen Array oder Types benutzt, hängt vom Verwendungszweck ab. Also ich bitte dich ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK, da haben wir schon 3 Leute, die wegen Goto heute noch einen Bann bekommen ![]() |
||
between angels and insects |
Hot-BitSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hoi.
Es lebe GOTO ! ![]() Es gibt kein Programm von mir, wo kein Goto vorkommt. Warum auch ? Warum sollte ich gewisse Sachen komplizierter machen ? Und Goto ist immer noch schneller, als um ein Problem herumprogrammieren. Ich weiß nicht genau, wie BB das mit den Goto's handlet. Ich hatte irgendwann mal ein Basic, da gab es nach ellenlanger Zeit eine Fehlermeldung. Wegen Stack-overflow, oder so. Ich hatte bei BB aber dieses Prob noch nie. PS: mußte ich unbedingt loswerden, schon wegen dem Bann ![]() Toni |
||
... ..... .i.. ...
*** Sieger des BB-Gameboy-Contest 2004 Sieger des Blitzbaster 2D-Minigolf-Contest 2005 *** |
![]() |
Ebola33 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@jake, mir geht es ganz und gar nicht darum ob ich goto benutzen soll oder nicht.Wenn man es nicht sollte wäre dieser Befehl wohl nicht da. (auch wenn ich es immer vermeide aber nur wegen der übersichtlichkeit)Es geht einfach nur darum ob ich damit ohne Probleme aus den Konstrukten springen kann. Kann mich da an eine Situation erinnern als ich noch vb programmiert habe. Da kam es zu beträchtlichen Problemen.... | ||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei BB wirst Du keine Probs damit haben. Es ist eine einfache und schnelle Lösung, ich würds auch nicht anders machen ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Ebola33 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke @Hubsi, hot-bit, simi und jake
erledigt. |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich schließe mich den Anonymen Goto Benützern an. Musste neulich auch einmal Goto einbauen, weil ich sonst, alles hätte aufdröseln müssen und es Stunden gedauert hätte. | ||
![]() |
stfighter01 |
![]() Antworten mit Zitat ![]() |
---|---|---|
goto macht keine probleme beim kompilieren od. so
grundsätzlich ist es nur deswegen verpönt weil es das programm unübersichtlich macht. wenn man z.b.: von einer funktion in eine andere hüpft und v. dort wieder ganz woanders hin. da bleibt die übersichtlichkeit und die möglichkeit den code schön nachzuvollziehen einfach auf der strecke. allerdings erlaubt bb gar keine sprünge durch funktionen, und von daher ists schon ziemlich entschärft. für so kleine "spring aus der for-schleife u. co." anwendungen ists durchaus ok. es sollte halt immer nachzuvollziehen sein was da passiert, sonst kannst nach 2 tagen deinen eigenen code nicht mehr lesen. mfg stfighter |
||
Denken hilft! |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
also BlitzMax unterstützt keine GOTO im STRICT-Modus (wo alle Variablen deklariert werden müssen)
Das kommt deswegen: GOTO jump LOCAL tmp=1 #jump PRINT tmp weil tmp gar nicht deklariert wurde, gäbe es einen Fehler... Natürlich könnte Bmax das alles kompensieren, indem es eine Variablen-liste erstellt und dann alles zuerst am Programmanfang deklariert (so wird es gemacht, wenn strict aus ist). Das ist jedoch nicht möglich, weil Blöcke ihre "lokale" Variablen haben... Grundsätzlich würde ich GOTO in BB2D/3D/Plus verwenden - in BlitzMax kann man es momentan nicht im Strict-Modus - darum sind GOTO's dort etwas sinnlos... Wenn jetzt einer sagt: GOTOs sind böse, dann denke ich, dass der keine Ahnung von Programmieren hat. Diese machen weder den Code unübersichtlich (den dann würde niemand sich mit den unübersichtlichen C-Codes ärgern), noch machen die das Programm langsam, oder komplizierter. GOTO's werden generell niemals verwendet, um einen Code zu strukturieren, sondern diese werden verwendet, um aus Schleifen zu entkommen und ähnliches... |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Jake |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@BB:
Nur weil ich gesagt hab, das Blitz einfach ist, werte ich es nicht als Lullisprache im negativen Sinne. Im Vergleich zu Assembler ist C++ auch ne Lullisprache, aber im positiven Sinne, weil man sein Gehirnschmalz zum Entwickeln verwenden kann, statt sich in kryptischen Codes zu verzetteln. So gesehen ist Blitz auch eine Lullisprache, im positiven Sinne. Ts, ts, ich rede doch nicht schlecht von Blitz....GOTO end .end Jake |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Goto's sind Böse.
Zitat: Diese machen weder den Code unübersichtlich, noch machen die das Programm langsam, oder komplizierter. Also meiner Meinung nach unübersichtlich und komplizierter auf jeden fall. 1. alle Variablen bleiben da :-/ 2. Es gibt keine referenz, woher man kommt, wohin man geht. 3. ist nicht wirklich geschlossen. Aber Goto hat auch Vorteile, 1. Sauchst schnell, sprungzeit geht gegen 0 (im gegensatz zu Funktion) 2. Sehr unkompliziert 3. Alle Variablen bleiben da. Naja, Goto bitte nur auf einer Ebene Benutzten. |
||
between angels and insects |
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jan_ hat Folgendes geschrieben: Also meiner Meinung nach unübersichtlich und komplizierter auf jeden fall.
1. alle Variablen bleiben da :-/ ... Aber Goto hat auch Vorteile, ... 3. Alle Variablen bleiben da. Naja, Goto bitte nur auf einer Ebene Benutzten. Lustiger Gedanke^^ |
||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
![]() |
Ralf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
warum soll Goto schlecht sein? Es gab Zeiten auf den Amiga oder C64 da gab es keine Functionen, nur Goto und Gosub. Das ging auch. Zitat: Ich weiß nicht genau, wie BB das mit den Goto's handlet. Ich hatte irgendwann mal ein Basic, da gab es nach ellenlanger Zeit eine Fehlermeldung. Wegen Stack-overflow, oder so.
Toni, das war nicht bei Goto, sondern bei zuvielen ineinander verschachtelten Gosub-Befehlen. Oder wenn Du irgendwo ein Return vergessen hast, dann kam dieser Fehler. Ralf |
||
Hot-BitSieger des B2D Retro Wettbewerb / Aug 04 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hoi.
Ja, da hast du Recht. Also ist GOTO noch viel sinnvoller als ich dachte ![]() Und universeller... Toni |
||
... ..... .i.. ...
*** Sieger des BB-Gameboy-Contest 2004 Sieger des Blitzbaster 2D-Minigolf-Contest 2005 *** |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
a-bit hat Folgendes geschrieben: Goto's
Jan_ hat Folgendes geschrieben: Goto's
GOTOs verdammt. Ich könnte kotzen, wenn ich diese Apostroph-Scheiße sehe. |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group