Latest web development tutorials

Lua-Variablen

Variablen vor der Anwendung muss im Code deklariert werden, die die Variable erstellt.

Vor der Durchführung der Compiler Code-Compiler muss wissen, wie die Anweisung variablen Speicherbereich zu öffnen, um den Wert der Variablen zu speichern.

Lua-Variablen Es gibt drei Arten: globale Variablen, lokale Variablen, Tabellenfelder.

Lua-Variablen in allen globalen Variablen, oder sogar ein Block von Anweisungen in der Funktion, mit lokalen, sofern nicht ausdrücklich als lokale Variable deklariert.

Der Umfang der lokalen Variablen ist, von einer Position, wo das Ende des Anweisungsblocks zu starten.

Die Standardwerte der Variablen sind gleich Null.

-- test.lua 文件脚本
a = 5               -- 全局变量
local b = 5         -- 局部变量

function joke()
    c = 5           -- 全局变量
    local d = 6     -- 局部变量
end

joke()
print(c,d)          --> 5 nil

do 
    local a = 6     -- 局部变量
    b = 6           -- 全局变量
    print(a,b);     --> 6 6
end

print(a,b)      --> 5 6

Führen Sie das obige Beispiel Ausgabe lautet:

$ lua test.lua 
5	nil
6	6
5	6

Zuordnung

Aufgabe ist, den Wert einer Variablen und die Änderung der grundlegenden Methodentabelle Feld zu ändern.

a = "hello" .. "world"
t.n = t.n + 1
Lua kann durch ein Komma, der Wert der rechten Seite der Zuweisung wiederum auf die Variable auf der linken Seite zugewiesen getrennt für jedes Element mehrere Variablen gleichzeitig, eine Liste von Variablen und eine Liste der Werte zuweisen.
a, b = 10, 2*x       <-->       a=10; b=2*x

Lua begegnet Zuordnung zunächst alle Werte auf der rechten Seite zu berechnen und dann die Zuordnung durchführen, so können wir den Wert dieser Variablen waren auszutauschen:

x, y = y, x                     -- swap 'x' for 'y'
a[i], a[j] = a[j], a[i]         -- swap 'a[i]' for 'a[j]'

Wenn die Anzahl von der Anzahl der Variablen und Werte nicht übereinstimmen, wird Lua die Anzahl von Variablen sein, auf der Grundlage der folgenden Strategien ergriffen:

a. 变量个数 > 值的个数             按变量个数补足nil
b. 变量个数 < 值的个数             多余的值会被忽略

Zum Beispiel:

a, b, c = 0, 1
print(a,b,c)             --> 0   1   nil
 
a, b = a+1, b+1, b+2     -- value of b+2 is ignored
print(a,b)               --> 1   2
 
a, b, c = 0
print(a,b,c)             --> 0   nil   nil

Das letzte Beispiel oben ist eine häufige Fehlerbedingungen Hinweis: Wenn Sie mehrere Variablen zuweisen wollen, müssen nacheinander zu jeder Variablen zugewiesen werden.

a, b, c = 0, 0, 0
print(a,b,c)             --> 0   0   0

Mehr oft verwendet, Variablen-Wertzuweisung oder einen Funktionsaufruf zurück auf die Variable auszutauschen:

a, b = f()

f () liefert zwei Werte, die erste bis a zugeordnet ist, ist die zweite bis b zugeordnet.

Sollte möglich sein, lokale Variablen zu verwenden, gibt es zwei Vorteile:

  • 1. Vermeiden Sie Konflikte zu benennen.
  • 2. lokale Variablen schneller als globale Variablen.

Index

Der Index der Tabelle mit eckigen Klammern []. Lua bietet auch arbeitet.

t[i]
t.i                 -- 当索引为字符串类型时的一种简化写法
gettable_event(t,i) -- 采用索引访问本质上是一个类似这样的函数调用

Zum Beispiel:

> site = {}
> site["key"] = "www.w3cschool.cc"
> print(site["key"])
www.w3cschool.cc
> print(site.key)
www.w3cschool.cc