2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Vorwort
Auf diesen Artikel wird verwiesen von:Lua-Datentypen |. Anfänger-Tutorial (runoob.com)
Wenn Sie mehr wissen möchten, klicken Sie bitte auf den Link oben:
- print(type("Hello world")) --> string
- print(type(10.4*3)) --> number
- print(type(print)) --> function
- print(type(type)) --> function
- print(type(true)) --> boolean
- print(type(nil)) --> nil
- print(type(type(X))) --> string
- print(type(Y)) -->nil
- print(type('Y')) -->string
Sie können sehen, dass der Typ (Y), den wir hier ausgeben, ein Nulltyp ist. Warum? Die nächste Null (leer) wird Ihnen angezeigt.
Der Typ nil stellt einen Typ dar, der keinen gültigen Wert hat. Er hat nur einen Wert – nil. Wenn Sie beispielsweise eine Variable ohne Zuweisung ausgeben, wird ein Nullwert ausgegeben.
Wie folgt: Die Ausgabetypen der drei Variablen, denen kein Anfangswert zugewiesen wurde, sind alle Null.
- tab1 = { key1 = "val1", key2 = "val2",
- "val3","val4",key3 = "val5" }
- for k, v in pairs(tab1) do
- print(k .. " - " .. v)
- end
- print("=========直接输出=============")
-
-
- tab1.key1 = nil
- for k, v in pairs(tab1) do
- print(k .. " - " .. v)
- end
- print("============删除key1后==========")
-
-
-
- tab1.key3 = nil
- for k,v in pairs(tab1) do
- print(k.. " - "..v)
- end
- print("=========删除key3后============")
-
Bei globalen Variablen und Tabellen hat Null auch eine „Löschwirkung“. Das Zuweisen eines Nullwerts zu globalen Variablen oder Variablen in der Tabelle ist gleichbedeutend mit dem Löschen.
type(X)==nil ergibtFALSCHDer Grund dafür ist, dass Typ(X) im Wesentlichen die zurückgegebene Zeichenfolge „nil“ ist, bei der es sich um einen Zeichenfolgentyp handelt:
Der boolesche Typ hat nur zwei optionale Werte: true (wahr) und false (falsch). Lua behandelt false und nil als false, und alles andere ist wahr.
- print(type(true))
- print(type(false))
- print(type(nil))
-
- if false or nil then
- print("至少有一个是 true")
- else
- print("false 和 nil 都为 false")
- end
-
- if 0 then
- print("数字 0 是 true")
- else
- print("数字 0 为 false")
- end
Lua hat standardmäßig nur einen Zahlentyp – den Typ double (doppelte Genauigkeit) (der Standardtyp kann in luaconf.h geändert werden). Die folgenden Schreibmethoden werden als Zahl betrachtet
Beim Durchführen arithmetischer Operationen an einer numerischen Zeichenfolge versucht Lua, die numerische Zeichenfolge in eine Zahl umzuwandeln:
In Lua erfolgt die Tabellenerstellung durch „konstruktive Ausdrücke“. Der einfachste konstruierte Ausdruck ist {}, der zum Erstellen einer leeren Tabelle verwendet wird. Sie können der Tabelle auch einige Daten hinzufügen und die Tabelle direkt initialisieren:
Ein Tisch in Lua ist eigentlich ein„Assoziatives Array“(assoziative Arrays), der Index des Arrays kann eine Zahl oder eine Zeichenfolge sein.
Die Tabelle hat keine feste Länge. Wenn neue Daten hinzugefügt werden, wächst die Länge der Tabelle automatisch.
In Lua werden Funktionen als „First-Class Values“ betrachtet.
In Lua ist der wichtigste Thread die Coroutine. Es ähnelt einem Thread und verfügt über einen eigenen unabhängigen Stapel, lokale Variablen und einen Befehlszeiger.
Globale Variablen und die meisten anderen Dinge können mit anderen Coroutinen geteilt werden.Der Unterschied zwischen Threads und Coroutinen: Threads können mehrmals gleichzeitig ausgeführt werden, Coroutinen können jedoch jeweils nur einen ausführen, und eine laufende Coroutine wird nur dann angehalten, wenn sie angehalten wird.
Benutzerdaten sind benutzerdefinierte Daten, die zur Darstellung eines Typs verwendet werden, der von einer Anwendung oder einer C/C++-Sprachbibliothek erstellt wurde.
Sie können beliebige Daten eines beliebigen C/C++-Datentyps (normalerweise Struktur und Zeiger) in einer Lua-Variablen speichern und aufrufen