Benutzer-Werkzeuge

Webseiten-Werkzeuge


scripting:tutorials:level1:branches

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
scripting:tutorials:level1:branches [2023/05/14 14:43] – angelegt fritz_98scripting:tutorials:level1:branches [2024/05/16 07:22] (aktuell) fritz_98
Zeile 20: Zeile 20:
 Time = Hours..":"..Minutes..":"..Seconds.." "..Period Time = Hours..":"..Minutes..":"..Seconds.." "..Period
 </code> </code>
 +
 +---- 
 +
 +**Hinweis**: Unsere Beispiele in diesem und den folgenden Kapiteln können besser nachvollzogen werden, wenn man die Programmzeilen nebenbei ausprobieren kann. Dazu kann man diese Webseite hier verwenden:
 +
 +[[ https://www.lua.org/demo.html ]]
 +
 +Um dabei bei der Ausgabe ein Ergebnis zu sehen, kann man ''print'' verwenden. Will man beispielsweise die Variable ''Time'' ansehen, kann man
 +<code lua>
 +Time = Hours..":"..Minutes..":"..Seconds.." "..Period
 +print(Time)
 +</code>
 +schreiben. Wenn die Variable einen anderen Namen hat, muss man diesen dementsprechend austauschen.
 +
 +----
  
 Unser Beispiel kann noch etwas vereinfacht werden. Zunächst muss die Bedingung nicht zwangsläufig zuerst in einer Varable zwischengespeichert werden, wenn das Ergebnis nur für diese Verzweigung gebraucht wird. Darüber hinaus erlauben Verzweigungen auch, andere Instruktionen auszuführen, sollte die Bedingung nicht Wahr sein. Dazu benötigt man das Schlüsselwort **else**. Unser Beispiel kann noch etwas vereinfacht werden. Zunächst muss die Bedingung nicht zwangsläufig zuerst in einer Varable zwischengespeichert werden, wenn das Ergebnis nur für diese Verzweigung gebraucht wird. Darüber hinaus erlauben Verzweigungen auch, andere Instruktionen auszuführen, sollte die Bedingung nicht Wahr sein. Dazu benötigt man das Schlüsselwort **else**.
Zeile 40: Zeile 55:
 Die Verzweigungen in Lua sind sehr nah an natürlicher Sprache: "**Wenn** (Bedingung erfüllt) **dann** (Instruktionen) **sonst** (Instruktionen) **Ende**". \\  Die Verzweigungen in Lua sind sehr nah an natürlicher Sprache: "**Wenn** (Bedingung erfüllt) **dann** (Instruktionen) **sonst** (Instruktionen) **Ende**". \\ 
 Wenn man sich seine Verzweigungen auf diese Art als Satz formuliert, kann man schnell prüfen, ob die Logik dahinter das ausdrückt, was man möchte. \\ Wenn man sich seine Verzweigungen auf diese Art als Satz formuliert, kann man schnell prüfen, ob die Logik dahinter das ausdrückt, was man möchte. \\
 +
 +Da Bedingungen immer Booleans sind, kann man alle logischen und Vergleichsoperatoren verwenden:
 +<code lua>
 +-- Hier den Wochentag eintragen
 +Weekday = "Monday" -- :(
 +IsItWeekend = false
 +
 +if Weekday == "Saturday" or Weekday == "Sunday" then
 +    IsItWeekend = true -- :)
 +end
 +</code>
  
 Man kann Verzweigungen auch ineinander schachteln: Man kann Verzweigungen auch ineinander schachteln:
Zeile 100: Zeile 126:
 </code> </code>
  
-Sollte die Liste an möglichen Werten die Länge 4 deutlich überschreiten, gibt es weitaus elegantere Wege, so eine Abfrage zu formulieren. Darauf wollen wir allerdings erst später in Ebene 3 (FIXME: link zu best practices) eingehen.+Sollte die Liste an möglichen Werten die Länge 4 deutlich überschreiten, gibt es weitaus elegantere Wege, so eine Abfrage zu formulieren. Darauf wollen wir allerdings erst später in [[ scripting:tutorials:level3:best_practices |Ebene 3]] eingehen. 
 + 
 +---- 
 + 
 +Im nächsten Kapitel teilen wir den Code in wieder verwendbare, logische Blöcke auf. 
 + 
 +[[ scripting:tutorials:level1:variables | Voriges Kapitel: Variablen ]]\\ 
 +[[ scripting:tutorials:level1:functions_blocks | Nächstes Kapitel: Funktionen ]]\\ 
 +[[ scripting:tutorials:level1:branches | Zurück nach oben ]]
scripting/tutorials/level1/branches.1684075416.txt.gz · Zuletzt geändert: 2023/05/14 14:43 von fritz_98