Wie kommt man aus der Schleife raus?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ich denke, das Break, Continue und vor allem mehrfach ProzedureReturn, nur dann eingesetzt werden sollte, wenn es Vorteile bringt und den Code nicht unleserlich macht.

//Edit: etwas die Aussage betont :wink:
Zuletzt geändert von ts-soft am 26.10.2005 13:30, insgesamt 1-mal geändert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Gott sei Dank denkst du das nur ;)

Mehrfach ProcedureReturn sind zum Beispiel in fetten Proceduren wesentlich angenehmer!
Man kann ganz am Anfang gleich nen paar depperte Eingabemöglichkeiten ausschliessen und sich aus der Procedure verabschieden, ohne durch endlose IF ELSE den ganzen folgenden Quelltext immer mehr an den rechten Rand zu quetschen.

Auch die Forever-Schleife ist mir viel zu sehr ans Herz gewachsen (im übrigen tatsächlich wegen des Verzichts einer wie ich finde völlig sinnlosen Quit-Variable), als dass ich wegen irgenwelcher komischen Vorstellungen darauf verzichten würde.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

HeX0R hat geschrieben:Gott sei Dank denkst du das nur ;)

Mehrfach ProcedureReturn sind zum Beispiel in fetten Proceduren wesentlich angenehmer!
Man kann ganz am Anfang gleich nen paar depperte Eingabemöglichkeiten ausschliessen und sich aus der Procedure verabschieden, ohne durch endlose IF ELSE den ganzen folgenden Quelltext immer mehr an den rechten Rand zu quetschen.
Thomas hatte doch geschriebn "... nur dann ... wenn es Vorteile bringt ..."
Du hast hier Vorteile genannt, also seid ihr eigentlich im Konsens :)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

:shock: *BrillePutz*
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Danilo hat geschrieben:
Kaeru Gaman hat geschrieben:btw.. stell dir vor du hast geschachtelte schleifen...

kommst du da noch klar, wo dein Break dann weitermacht?
Es wird immer die innerste Schleife (For, Repeat, ForEach, While)
abgebrochen, in der das Break steht. Optional kann man einen
Parameter angeben, aus wievielen Schleifen rausgesprungen
werden soll. Bei einer 5-fachen Verschachtelung kann man
bei einem Fehler also mit 'Break 5' sauber und schnell
rausspringen.
is schon klar...

aber ich finds vom menschlichen faktor her unsicher...
hast du immer den genauen überblick, wie sehr du schachtelst,
wenn du mal schnell eine schleife außenrumpackst, wozu auch immer...?

außerdem... naja.. break... ich mags halt nich...

kommt vom alten 8-Bit ASM her... BRK war praktisch das return...
und wenn du fremden code durchgesehen hast, hast du nie gewußt,
auf welche ebene es zurückspringt...


und @hexor

an den rechten rand quetschen... wie fett sind denn deine tabs?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Tafkadasom2k5
Beiträge: 1578
Registriert: 13.08.2005 14:31
Kontaktdaten:

Beitrag von Tafkadasom2k5 »

Kaeru Gaman hat geschrieben:
aber ich finds vom menschlichen faktor her unsicher...
hast du immer den genauen überblick, wie sehr du schachtelst,
wenn du mal schnell eine schleife außenrumpackst, wozu auch immer...?
Wenn du schon vorhast mit Break zu arbeiten, dann kannste jaam Rand Kommentare einfügen- wie zB.

Code: Alles auswählen

Repeat    ;{ Break1
For I=0 to 20;{ Break2
If I = 20
 Break2
next             ;}Break 2 Ende
 
(weiterer Code)

Until Marc = "Idiot" ;}Break1 Ende
Wär doch ne Idee? (Hab das jetzt im JaPBe mit der Kommentarfunktion ausgenutzt).

Also wenn man "Menschlich" versagt, dann hat man kein /ein schlechtes System. Und System sollte beim programmieren nie fehlen, weil man sonst durcheinanderkommt *miterhobenemzeigefingereuchalleermahn*!
:bounce:

Gr33tz
DerMarc :lol: :D
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
Antworten