Funktionen, Berechnungen, Gültigkeitsbereiche… das ist schon eine Menge Zeug, das wir da haben. Aber eine Sache fehlt doch da noch.

Meistens wollen wir gewisse Teile des Skripts nur unter bestimmten Bedingungen ausführen, oder, je nach Wert unterschiedliche Befehle ausführen. Dafür gibt es Bedingte Anweisungen. Also Anweisungen/Befehle, die nur unter bestimmten Bedingungen ausgeführt werden.

Nehmen wir einmal dieses kleine Beispiel:

boo = true

if (boo == true) then
  print("a ist wahr")
end

Wir definieren zuerst eine boolesche Variable namens boo. Diese kann nur den Wert true oder false haben. Also wahr oder falsch.

Mit if können wir eine Bedingung prüfen. Innerhalb der Klammern steht die Bedingung: boo == true. Das bedeutet, dass alles, was zwischen dem if und end steht nur dann ausgeführt wird, wenn boo den Wert true aufweist.
Das doppelte Gleichheitszeichen ist hierbei ein Vergleichsoperator. Mit diesem bestimmen wir, auf was wir die beiden Werte prüfen. Folgende Vergleichsoperatoren können für Vergleiche angewendet werden:

< Kleiner
<= Kleiner oder gleich
> Größer 
>= Größer oder gleich
== Gleich
~= Ungleich

Zu beachten ist hierbei, dass immer der linke Wert mit dem Rechten verglichen wird.
Wenn du nun boo den Wert false zuweist, wird alles innerhalb der if-Anweisung übersprungen. Wir können aber natürlich auch auf die Alternative reagieren, wenn boo false ist. Dafür fügen wir innerhalb der if-Anweisung eine Verzweigung hinzu:

boo = false
if (boo == true) then
  print("a ist wahr")
else
  print("boo ist unwahr")
end

Der else-Block wird immer dann ausgeführt, wenn alle anderen Bedingungen nicht erfüllt werden. Wir können also noch weitere Bedingungen und Verzweigungen hinzufügen. Dafür steht uns elseif zur Verfügung:

a = 10
if (a > 10) then
  print("a ist größer als zehn")
elseif (a == 10) then
  print("a ist gleich zehn")
else
  print("a ist nicht größer als zehn")
end

Beachte, dass nach der Bedingung immer ein then folgen muss. Es wird immer die Anweisung ausgeführt, dessen Bedingungen zuerst zutreffen. Ist a also größer als 10, werden die restlichen Bedingungen nicht mehr geprüft. Nur wenn die erste Bedingung nicht zutrifft, wird die nächste Bedingung geprüft. Und erst wenn alles scheitert wird der else-Block ausgeführt.

Tags: Grundlagen Tutorial

Letzte Bearbeitung:27.02.21 13:23 Uhr

 294

^ Nach oben

 Kommentare

Es wurden noch keine Kommentare geschrieben.