Schleifen

Schleifen? Bindet man sich damit nicht die Schuhe zu? Moment, das ist ja was anderes. ^^'

Numerische For-Schleife

for Zählvariable = Anfang, Ende, Zählschritt do
      Anweisungen
end

Eine numerische For-Schleife besteht aus:

  • eine Zählvariable
  • ein Startwert
  • ein Maximalwert
  • eine Schrittweite
  • ein Anweisungsblock

Funktionsfähiges Beispiel:

for i= 1,5,1 do
      Logic.DEBUG_AddNote("Schleifendurchlauf: "..i)
end

Hier wird von 1 bis 5 in ganzzahligen Schritten gezählt. Die Zählvariable wird ausgegeben.

Auch möglich:

for i= -10,1000,100 do
      ...
end

for i= 58,1,-0.5 do
      ...
end

Bezeichnete For-Schleife

Die zweite Form der For-Schleife eignet sich besonders um Tables durchzugehen. Ein gutes Beispiel ist die rekursive Funktion Umlaute.

for Key, Value in Table do
      Anweisung
end

Eine bezeichnete For-Schleife besteht aus:

  • einem Schlüssel (Key)
  • einem Wert (Value)
  • dem durchgegangenen Table
  • ein Anweisungsblock

Funktionsfähiges Beispiel:

for k,v in pairs(meinTable) do
      Logic.DEBUG_AddNote("Key: "..k.." | Value: "..v)
end

Der Table wird von Anfang bis Ende durchgegangen. Dabei wird hier das Schlüssel-Wert-Paar ausgegeben.

While-Schleife

Eine While-Schleife ist eine kopfgesteuerte Schleife. Das heißt, sie wird solange ausgeführt bis die angegebene Bedingung false ist.

while Bedingung
do
      Anweisung
end

Eine While-Schleife besteht aus:

  • einer Bedingung
  • ein Anweisungsblock

Ablauf:

  1. Bedingung wird geprüft
    • Bedingung falsch: Ende
    • Bedingung wahr: Block ausführen
  2. Zurück zu 1.

Funktionsfähiges Beispiel:

local val = 10
while (val > 0)
do
      Logic.DEBUG_AddNote("Die Schleife wird ausgeführt")
      val = val - 0.5
end
Logic.DEBUG_AddNote("Die Schleife ist zu Ende!")

Repeat-Until-Schleife

Eine Repeat-Until-Schleife ist eine fußgesteuerte Schleife. Das heißt, die Anweisungen werden ausgeführt und danach die Bedingung geprüft. Beendet ist sie, sobald die Bedingung false ist.

repeat
      Anweisung
until Bedingung

Eine Repeat-Until-Schleife besteht aus:

  • ein Anweisungsblock
  • einer Bedingung

Ablauf:

  1. Der Block wird ausgeführt
  2. Die Bedingung wird geprüft
    • Bedingung falsch: Ende
    • Bedingung wahr: Zurück zu 1.
local val = 10
repeat
      Logic.DEBUG_AddNote("Die Schleife wird ausgeführt")
      val = val - 0.5
until (val <= 0)
Logic.DEBUG_AddNote("Die Schleife ist zu Ende!")

Blöcke Verzweigungen

Zurück zu Grundlagen

Sofern nicht anders angegeben, steht der Inhalt dieser Seite unter Lizenz Creative Commons Attribution-ShareAlike 3.0 License