Lua goto-Anweisung

Lua 循环Lua-Schleifen

Die goto-Anweisung in der Sprache Lua ermöglicht es, den Kontrollfluss bedingungslos auf eine markierte Anweisung zu übertragen.

Syntax

Das Syntaxformat lautet wie folgt:

goto Label

Das Format eines Labels ist:

:: Label ::

Das folgende Beispiel verwendet goto in einer bedingten Anweisung:

Beispiel 1

local a = 1
::label:: print("--- goto label ---")

a = a+1
if a < 3 then
    goto label   -- springe zum Label label, wenn a kleiner als 3 ist
end

Das Ausgabeergebnis ist:

--- goto label ---
--- goto label ---

Wie aus dem Ausgabeergebnis ersichtlich ist, erfolgte eine zusätzliche Ausgabe.--- goto label ---。

Das folgende Beispiel zeigt, dass mehrere Anweisungen in einem Label festgelegt werden können:

Beispiel 2

i = 0
::s1:: do
  print(i)
  i = i+1
end
if i>3 then
  os.exit()   --i ist größer als3beenden, wenn
end
goto s1

Das Ausgabeergebnis ist:

0
1
2
3

Mit goto können wir die Funktionalität von continue implementieren:

Beispiel 3

for i=1, 3 do
    if i <= 2 then
        print(i, "yes continue")
        goto continue
    end
    print(i, " no continue")
    ::continue::
    print([[i'm end]])
end

Das Ausgabeergebnis ist:

1   yes continue
i'm end
2   yes continue
i'm end
3    no continue
i'm end

Lua 循环Lua-Schleifen

Andere Erweiterungen