Abfragen
Nicht viel geringer wichtig sind die Abfragen. SIe machen es möglich, je nach Ereignis bestimmte Wege im Programm einzuschlagen. Sie werden in LUA durch das if eingeleitet, darauf folgt eine Bedingung
und letztendlich then. Ich denke, am besten versteht man das Anhand eines Beispiels:
if true then screen:print(10, 10, "True", Color.new(255, 255, 255)) end
Diese äußerst primitive Abfrage, die nämlich immer erfüllt ist, verdeutlicht trotzdem Ansatzweiße die Funktion der Bedingung.
Wenn (if) Bedingung(true) dann(then) ⇒ Textausgabe(screen:print(10, 10, "True", Color.new(255, 255, 255))) Ende(end)
Als Bedingung kann man so ziemlich alles verwenden, was einen boolischen Wert zurück giebt. Hierzu haben wir die Vergleichsoperatoren:
| Operator | Funktion |
|---|---|
| == | ist gleich (nicht mit = verwechseln) |
| < | x kleiner y |
| > | x größer y |
| <= | x kleiner/gleich y |
| >= | x größer/gleich y |
| != | ungleich |
Neben if gibt es noch weitere Abfrageklausen, elseif
und else
. Ersteres wird wie if eingesetzt, ist jedoch eine Zweitbedingung, wird also nur getestet, wenn if nicht zutrifft. elseif
kann beliebig oft folgen. else
ist dann sozusagen das default, wird also ausgeführt, wenn keins der if und elseif zugertroffen hat.
var = 10 if var == 11 then screen:print(10, 10, "var == 11", Color.new(255, 255, 255)) end elseif var != 10 then screen:print(10, 10, "var != 10", Color.new(255, 255, 255)= end else screen:print(10, 10, "var nicht 11, aber 10", Color.new(255, 255, 255)) end
Versuchen Sie selbst mal zu überlegen, was die Ausgabe ist...
Ja richtig, es ist c).
![[IMG: LUA Logo]](lua_logo.png)