Haupt Navigation Neben Navigation

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).