else if ?

Previous topic - Next topic

mull

Irgendwie vermisse ich
If ..

else if ..

endif

Habe ich was übersehen oder gibts das nicht ?
AMD Phenom II x4 955 Proc. 3.2 GHZ,  4GB Ram
Windows 7 64bit Ultima
NVIDIA GeForce GTX 460
Leistungsindex 5,7

Lazarus

Es mischt mich manchmal oben auch, aber: (nur dann verwendend, wenn nur eine Aussage durch wenn Aussage und Verlassen weg vom endif in diesem Fall durchgeführt wird)

if x > 2 then
  print x

if x < 2
   print y
 x = x + y
endif

(und mit sonst immer mit einem endif am Ende und kein dann)


if x > 2
 print x
else
 print y
endif

Einfach, Nr.? ;)

(P.S - sorry for my German, I'm an American)

mull

Tja, schade.
Else if ist ein Standartbefehl der in "jeder Sprache" vorhanden ist.
AMD Phenom II x4 955 Proc. 3.2 GHZ,  4GB Ram
Windows 7 64bit Ultima
NVIDIA GeForce GTX 460
Leistungsindex 5,7

Kosta

Zur Fallunterscheidung kannst du auch Select/Case nutzen....

(wobei mir ein elif/else if auch fehlt)   :-)
Intel QuadCore, Geforce8600GT,512MB,4GB Ram, 26" TFT
HP nw8440 Schläppy
GP2X Mk2 (Firmware 3.0)

GLBASIC Blog:
http://www.glbasic.com/forum/index.php?blog=51.0

S.O.P.M.

Ich würde das dann halt verschachteln und dann ist es doch im Prinzip das Gleiche oder?

IF ..

ELSE
   IF ..

   ELSE
      IF ..

      ENDIF
   ENDIF
ENDIF
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

mull

Else if ist viel übersichticher, einfacher und kürzer.
AMD Phenom II x4 955 Proc. 3.2 GHZ,  4GB Ram
Windows 7 64bit Ultima
NVIDIA GeForce GTX 460
Leistungsindex 5,7

Schranz0r

Soll ich mal Hellseher spielen?

Gernot macht das nicht rein !

grüße XD
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

BumbleBee

Das braucht auch niemand. ;)
Das ist wie mit der REPEAT-UNTIL Schleife. Die gibt's hier auch nicht. Gernot hat halt auf vieles
verzichtet weil er die Sprache übersichtlich halten will. Ich find's gut so

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

mull

nur While Wend ist Ok, macht die Sache nicht kompizierter, aber ein ElseIf ist ein muß Befehl.

Um es einfacher zu halten, ist es z.B einfacher wenn es so einen Befehl gibt.

Es ist ja nicht irgendeine Funktion die man nachprogrammieren kann, sondern ein wichtiges Element der Grundausstattung.

Wo ich mich zum Kauf von GLb entschied, habe ich natürlich etwas rumgespielt und geschaut was für mein 2D Spiel nötig und möglich ist. Da war ohne es zu Wissen für mich eigentlich klar das es ElseIF gibt.

Guck doch mal:

If ...
Else
  If  ...
  else
    IF ...
    else
        IF ...
        else
        EndIF
    EndIf
  EndIf
EndIF

Das ist Beklopptencode.
besser ist doch wohl:

If ...
ElseIF ...
ElseIF...
ElseIf ...
Else
EndIf


Vielleicht kann der Herr der Befehle (Gernot) was dazu sagen ?
AMD Phenom II x4 955 Proc. 3.2 GHZ,  4GB Ram
Windows 7 64bit Ultima
NVIDIA GeForce GTX 460
Leistungsindex 5,7

S.O.P.M.

Bekloppt findest du also diese IF-ELSE-Verschachtelungen!? Also ich weiß ja nicht... Ich persönlich liebe diese Verschachtelungen. Je mehr, desto besser. Wem das schon zu umständlich oder schwierig ist, sollte das Programmieren sein lassen.
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

mull

Das du diese Verschachtelungen magst ist ja Ok.
Aber wenn man es einfacher möchte dann soll man das Programmieren sein lassen ist Dumm !
AMD Phenom II x4 955 Proc. 3.2 GHZ,  4GB Ram
Windows 7 64bit Ultima
NVIDIA GeForce GTX 460
Leistungsindex 5,7

S.O.P.M.

Ich habe mir schon wohl überlegt, was ich schreibe und meine es auch weiterhin so. GLB macht es einem schon sehr einfach aber irgendwo ist doch mal eine Grenze oder nicht? Okay, bei ELSEIF handelt es sich in der Tat um einen Standardbefehl - habe gerade mal bei PureBasic nachgeschaut und da ist er auch mit dabei - aber man sollte meiner Meinung nach genauso gut ohne diesen Befehl auskommen. Solange die Ausführgeschwindigkeit nicht darunter leidet und die Übersicht erhalten bleibt, dann kann man nicht von einem unerlässlichen Befehl sprechen. Und übersichtlich empfinde ich die Verschachtelungen durchaus. Durch das Einrücken und vor allem die in sich abgeschlossenen Blöcke. Bei ELSEIF ist das ein bisschen anders.

Aber gut, hier gehen nunmal die Meinungen auseinander. Ich bleibe dabei, dass dieser Befehl überflüssig ist.
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

Kitty Hello

OK, Ich bau ELSEIF ein...

[edit]
Update hochgeladen.

[edit edit]
Ich benutz' ELSEIF sogut wie nie. Meistens geht SELECT besser, aber das ist Geshmackssache...

Schranz0r

ich mach auch nur select case :D
aber elseif ist auch OK, jetzt wos drin ist XD
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard