Scripting

Schleifen

Schleifen ermöglichen es dir, einen Codeblock auf der Grundlage einer bestimmten Bedingung mehrfach zu wiederholen. Im Folgenden findest du die verschiedenen Arten von Schleifen in Lua und deren Verwendung im Peakboard Designer.

while-Schleife

Die while-Schleife führt einen Codeblock so lange aus, wie eine bestimmte Bedingung erfüllt ist. Die Syntax für die while-Schleife lautet wie folgt:

while Bedingung do
    -- Codeblock, der ausgeführt wird, solange die Bedingung erfüllt ist
end

Beispiel:

local counter = 1
while counter <= 5 do
    print("Counter value: " .. counter)
    counter = counter + 1
end

In diesem Beispiel wird die Schleife so lange ausgeführt, wie die Variable counter kleiner oder gleich 5 ist. Die Ausgabe wird sein:

Counter value: 1
Counter value: 2
Counter value: 3
Counter value: 4
Counter value: 5

repeat...until-Schleife

Die repeat...until-Schleife ähnelt der while-Schleife, wertet aber die Bedingung aus, nachdem der Codeblock ausgeführt wurde. Dadurch wird sichergestellt, dass der Codeblock unabhängig von der Ausgangsbedingung mindestens einmal ausgeführt wird. Die Syntax lautet wie folgt:

repeat
    -- auszuführender Code-Block
until Bedingung

Beispiel:

lokaler counter = 1
repeat
    print("Counter value: " .. counter)
    counter = counter + 1
until counter > 5

Diese Schleife erzeugt die gleiche Ausgabe wie das vorherige Beispiel.

for-Schleife

Mit der for-Schleife kannst du über einen bestimmten Wertebereich iterieren. Du verwendest sie normalerweise, wenn die Anzahl der Iterationen im Voraus bekannt ist. Es gibt zwei Arten von for-Schleifen in Lua: numerische und generische. Die numerische for-Schleife verwendest du für die Iteration über eine Folge von Zahlen, während du mit der generischen for-Schleife über andere Arten von Folgen iterieren kannst.

Numerische for-Schleife

for startValue, endValue, stepValue do
    -- Codeblock, der für jede Iteration ausgeführt wird
end

Beispiel:

for i = 1, 5, 1 do
    print("Iteration: " .. i)
end

Die Ausgabe wird sein:

Iteration: 1
Iteration: 2
Iteration: 3
Iteration: 4
Iteration: 5

Generische for-Schleife

for index, value in ipairs(sequence) do
    -- Codeblock, der für jede Iteration ausgeführt wird
end

Beispiel:

local fruits = {"apple", "banana", "orange"}
for index, fruit in ipairs(fruits) do
    print("Fruit at index " .. index .. ": " .. fruit)
end

Die Ausgabe wird sein:

Fruit at index 1: apple
Fruit at index 2: banana
Fruit at index 3: orange

Kontrollanweisungen für Schleifen

In Lua kannst du Kontrollanweisungen verwenden, um den Ablauf von Schleifen zu verändern. Diese Anweisungen umfassen:

break-Anweisung

Beendet die Schleife vorzeitig, wenn eine bestimmte Bedingung erfüllt ist. Sobald break ausgeführt wird, wird die Schleife verlassen und mit der nächsten Codezeile nach der Schleife fortgesetzt.

Beispiel:

for i = 1, 10 do
    if i == 5 then
        break
    end
    print(i)
end
-- Damit werden die Zahlen von 1 bis 4 ausgegeben. Die Schleife wird beendet, wenn i gleich 5 ist.

Die Ausgabe wird sein:

1
2
3
4

Nachahmung der continue-Anweisung

Lua hat keine continue-Anweisung wie einige andere Sprachen. Die Grundidee von continue ist es, die aktuelle Iteration zu überspringen und mit der nächsten fortzufahren.

In Lua kann man diesen Effekt mit einer Kombination aus goto und Labels erreichen.

Beispiel:

for i = 1, 10 do
    if i % 2 == 0 then
        goto continue
    end
    print(i)  -- Gibt nur ungerade Zahlen zwischen 1 und 10 aus.
    ::continue::
end

Die Ausgabe wird sein:

1
3
5
7
9

Wenn i eine gerade Zahl ist, springt der Programmablauf zum Label ::continue:: und überspringt damit die Anweisung print(i) für gerade Zahlen.

Es ist wichtig, dass du bei der Verwendung von Kontrollanweisungen vorsichtig bist, da sie deinen Code komplexer und schwieriger zu pflegen machen können.

Vergiss nicht, deine Schleifen gründlich zu testen, um sicherzustellen, dass sie sich wie erwartet verhalten, und um mögliche Fallstricke wie Endlosschleifen zu vermeiden.

Wir lernen von dir!

Hat dir dieser artikel geholfen?

Lass dich erleuchten!

Du benötigst weitere unterstützung?

Peakboard Youtube icon Zum YouTube Kanal

Unsere zahlreichen Videos für Einsteiger und Fortgeschrittene erklären dir genau, wie du dein Dashboard gestaltest.

Peakboard Templates icon Zu den Peakboard Templates

Lade dir unsere Templates für die verschiedensten Anwendungsfälle kostenlos herunter.

Peakboard icon Zu www.peakboard.com

Auf unserer Website findest du alle wichtigen Infos zu Peakboard sowie verschiedene Anwendungsfälle und Success Stories.