IF-Anweisung mit AND / OR
IF-Anweisung mit AND / OR
Guten Morgen,
ich hab da so ein kleines Problem und zwar mit der Programmiersprachen von AGS.
Kann man nicht mehrere Bedingungen in eine IF-Anweisung haun?
zb
if (x == 1 and y==0)
...
oder if (x==1 or y==0)
das mit dem and ist ja nicht ganz so schlimm, da kann man die if anweisungen ja auch einfach untereinander schreiben. aber bei or müsste man das ereignis unnötig oft kopiern. :/
weiss wer ne lösung?
falls wer die fehlermeldung wissen will...
bei if(x==1 and y==0) --> parse error in expr near '1'
ich hab da so ein kleines Problem und zwar mit der Programmiersprachen von AGS.
Kann man nicht mehrere Bedingungen in eine IF-Anweisung haun?
zb
if (x == 1 and y==0)
...
oder if (x==1 or y==0)
das mit dem and ist ja nicht ganz so schlimm, da kann man die if anweisungen ja auch einfach untereinander schreiben. aber bei or müsste man das ereignis unnötig oft kopiern. :/
weiss wer ne lösung?
falls wer die fehlermeldung wissen will...
bei if(x==1 and y==0) --> parse error in expr near '1'
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Nur ein kleiner Tipp am Rande:
Es funktioniert so einwandfrei, aber um der Übersichtlichkeit Willen, besonders wenn man noch mehr als zwei Bedingungen hat, sollte man ein paar Klammern setzen und es so schreiben:
if ((x == 1) && ( y==0))
bzw
if ((x==1) || (y==0))
aber, wie gesagt, man braucht es hier eigentlich nicht.
Es funktioniert so einwandfrei, aber um der Übersichtlichkeit Willen, besonders wenn man noch mehr als zwei Bedingungen hat, sollte man ein paar Klammern setzen und es so schreiben:
if ((x == 1) && ( y==0))
bzw
if ((x==1) || (y==0))
aber, wie gesagt, man braucht es hier eigentlich nicht.
- Rocco
- Adventure-Treff
- Beiträge: 1019
- Registriert: 25.11.2003, 16:20
- Wohnort: Ronville
- Kontaktdaten:
unansehlich sei mal dahingestellt, aber unlogisch ist es nicht, denn es gibt einen sogenannten operatorvorrang beim programmieren.
das ist so was ähnliches wie in mathe wo es heisst punktrechnung geht vor strichrechnung.
bei gesetzten klammern kann nichts passieren.
hier in jscript, ist aber in ags ähnlich:
http://msdn.microsoft.com/library/deu/d ... edence.asp
solche fehler sind danach oft schwer zu finden und ärgerlich, deswegen hast du das ganze entweder so intus, dass du nur dort klammern setzt wo du musst, oder du setzt lieber eine klammer zuviel und bist auf der sichern seite.
das ist so was ähnliches wie in mathe wo es heisst punktrechnung geht vor strichrechnung.
bei gesetzten klammern kann nichts passieren.
hier in jscript, ist aber in ags ähnlich:
http://msdn.microsoft.com/library/deu/d ... edence.asp
solche fehler sind danach oft schwer zu finden und ärgerlich, deswegen hast du das ganze entweder so intus, dass du nur dort klammern setzt wo du musst, oder du setzt lieber eine klammer zuviel und bist auf der sichern seite.
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Du kannst als Schreibweise wählen:
if(x==1 && y==1)
oder
if((x == 1) && (y == 1))
beides geht, aber zweites würde ich dir eher empfehlen. Bei der ersten Schreibweise musst du tierisch aufpassen, dass du nicht irgendwo einen Reihenfolgenfehler machst.
Ganz nebenbei kenne ich keine Programmiersprache, wo nicht diese Vorgehensweise angewandt wird...
if(x==1 && y==1)
oder
if((x == 1) && (y == 1))
beides geht, aber zweites würde ich dir eher empfehlen. Bei der ersten Schreibweise musst du tierisch aufpassen, dass du nicht irgendwo einen Reihenfolgenfehler machst.
Ganz nebenbei kenne ich keine Programmiersprache, wo nicht diese Vorgehensweise angewandt wird...
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet