Switch to full style
Thema gesperrt

If... then... else ?

Mi 14 Nov, 2012 06:58

Ich kenne von gaaaaaanz früher noch die
if... then... else - Abfrage
und habe hier ein Pendant gefunden: Die [If]-Abfrage.
Doch so ganz verstehe ich sie nicht. Hier mein Code:
Code:
  <if name="Geld" equals="max=10" then=<include target="kampf"/>
  <include target="handel"/>

Aber er schmeißt mir immer folgenden Fehler raus:
Code:
Fehler in Zeile 5, Spalte 40:Öffnendes Anführungszeichen wird für Attribut "{1}" erwartet, das mit Elementtyp "then" verknüpft ist.

Was mach' ich falsch? :denker:

Re: If... then... else ?

Mi 14 Nov, 2012 09:22

Das, was du da, glaube ich, machen willst, musst du per Switch lösen. If-Then-Else ist hier nur für Textausgabe, du kannst weder bei Then, noch bei Else, noch bei Null Code angeben (außer ${variablenname} , wenn ich mich recht entsinne)

Häufigster Nutzen von if ist:

Code:
<if attribute="gender" equals="male" then="text mann" else="text frau"/>


Oder halt zum Abfragen von Variablen, wenn man sie benutzt um verschiedene Abläufe zu signalisieren.

Und sie sollte niemals ohne Else-Zweig daherkommen, auch wenn er leer bleibt.

Was du brauchst, ist sowas:
Code:
<switch attribute="cash">

<case max="10">
  <include target="kampf"/>
</case>
<else>
  <include target="handel"/>
</else>

</switch>


Oder, weil es hier nur zwei Möglichkeiten sind:

Code:
<has attribute="cash" max="10">
  <success>
    <include target="kampf"/>
  </success>
  <failure>
    <include target="handel"/>
  </failure>
</has>


Und allgemein sagt dir die Fehlermeldung, dass der Inhalt von Then in Anführungszeichen stehen muss, was er nicht tut.

Re: If... then... else ?

Mi 14 Nov, 2012 10:07

:gottlinks: Ihr seid so gut zu mir! :gottrechts:
Ich nehm' die 2. Variante. :danke:
Thema gesperrt