Lua Logo
Blöcke



Zur weiteren Betrachtung brauchen wir etwas mehr Wissen um die Blöcke.
Wie oben schon erwähnt bewegt sich in LUA alles in Blöcken. Dies muss man sich in etwa vorstellen wie eine russische Matrjoschka

Matrjoschka
Alle haben wir sie schon mal gesehen.

Eins steckt im anderen.
Aber da ist schon der Unterschied bei LUA kann nicht nur eins im anderen stecken sondern viele. Und in den vielen können jeweils auch wieder viele stecken.



Die größte Puppe ist meines Erachtens das Project/Script. In Ihr liegen einzelne Anweisungen und weitere Blöcke.

Keine Angst vor dem Bild, das jetzt kommt. Die Blöcke beschäftigen uns noch so oft, dass wir das schon verstehen werden.

BlockBild
Blöcke haben eine Hülle z. B. function() oben und end unten. Dazwischen spielt sich etwas ab. Was muss man zuerst nicht wissen. Wir werden alle Hüllen kennen lernen.

In etwa geht das so vonstatten.



Der große Block ist das Script.

Der Übersetzer liest nun der Reihe nach alles ein.
Anweisungen und Blöcke werden sofort ausgeführt.
Müsste er etwas wissen, das später erst geschrieben steht, dann gibt es ERROR. Er kennt es ja noch nicht.
Funktionen werden nicht ausgeführt, diese werden zunächst gespeichert und erst dann ausgeführt wenn sie aufgerufen werden.

In jedem Block der rechts steht können ja wieder Blöcke sein.
Das hört sich komplizierter an als es ist. Man sollte sich aber merken:
Alle Blöcke fangen mit einem Schlüsselwort an und enden

(mit Ausnahme von einem) mit dem Wort end.

Da wir nun schon mal die Funktionen als Block erwähnt haben zählen wir die anderen auf und gehen sie der Reihe nach durch.



Verzweigungen



    1.  if Bedingung then
            Block
        end
    
    2.  if Bedingung then
            Block1
        else
            Block2
        end
    
    3.  if Bedingung1 then
            Block1
        elseif Bedingung2 then
            Block2
        elseif Bedingung3 then
            Block3
        else
            Block4
        end



Funktionen



    1.  function Name()
            Block
        end
    
    2.  Name = function()
            Block
        end



Schleifen


    
    1.  for variable = anfang, ende, sprungWeite do
            Block
        end
    
    2.  for variable, name  in table do
            Block
        end
    
    3.  while Bedingung do
            Block
        end
    
    4.  repeat
            Block
        until Bedingung
    



Da haben wir auch schon den Block der nicht mit end endet: repeat. Das können wir noch gut gebrauchen.


Die Vervielfältigung der auf diesen Seiten enthaltenen Informationen und Grafiken ist untersagt, ausgenommen davon ist sämtlicher auf diesen Seiten angezeigter Quellcode.
Siehe auch: Haftungsausschluss
Copyright © Robert Schmitz 2006