2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Préface
Cet article est référencé à partir de :Types de données Lua | Tutoriel novice (runoob.com)
Pour ceux qui veulent en savoir plus, veuillez consulter le lien ci-dessus :
- 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
Vous pouvez voir que le type(Y) que nous produisons ici est un type nul, pourquoi ? Le prochain zéro (vide) vous sera démontré.
Le type nil représente un type qui n'a aucune valeur valide. Il n'a qu'une seule valeur - nil. Par exemple, l'impression d'une variable sans affectation produira une valeur nulle :
Comme suit : Les types de sortie des trois variables auxquelles aucune valeur initiale n'est affectée sont tous nuls.
- 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后============")
-
Pour les variables globales et les tableaux, nil a également un effet de « suppression ». Attribuer une valeur nulle aux variables globales ou aux variables du tableau équivaut à les supprimer.
type(X)==nil donneFAUXLa raison en est que type(X) est essentiellement la chaîne "nil" renvoyée, qui est un type de chaîne :
Le type booléen n'a que deux valeurs facultatives : true (true) et false (false). Lua traite false et nil comme false, et tout le reste est également vrai :
- 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 n'a qu'un seul type numérique par défaut - type double (double précision) (le type par défaut peut être modifié dans luaconf.h), les méthodes d'écriture suivantes sont considérées comme num
Lors de l'exécution d'opérations arithmétiques sur une chaîne numérique, Lua essaiera de convertir la chaîne numérique en nombre :
Dans Lua, la création de table s'effectue via des « expressions constructives ». L'expression construite la plus simple est {}, qui est utilisée pour créer une table vide. Vous pouvez également ajouter des données à la table et initialiser la table directement :
Une table en Lua est en fait un"Tableau associatif"(tableaux associatifs), l'index du tableau peut être un nombre ou une chaîne.
Le tableau n'aura pas de longueur fixe Lorsque de nouvelles données sont ajoutées, la longueur du tableau augmentera automatiquement. Les tableaux qui ne sont pas initialisés seront nuls.
En Lua, les fonctions sont considérées comme des « valeurs de première classe ».
En Lua, le fil conducteur le plus important est la coroutine. Il est similaire à un thread et possède sa propre pile indépendante, ses variables locales et son pointeur d'instruction.
Les variables globales et la plupart des autres éléments peuvent être partagés avec d'autres coroutines.La différence entre les threads et les coroutines : les threads peuvent s'exécuter plusieurs fois en même temps, mais les coroutines ne peuvent en exécuter qu'une à la fois, et une coroutine en cours d'exécution ne sera suspendue que lorsqu'elle est suspendue.
userdata est un type de données définies par l'utilisateur utilisé pour représenter un type créé par une application ou une bibliothèque de langage C/C++.
Vous pouvez stocker n'importe quelle donnée de n'importe quel type de données C/C++ (généralement une structure et un pointeur) dans une variable Lua et l'appeler