Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Prefacio
Se hace referencia a este artículo desde:Tipos de datos de Lua | Tutorial para principiantes (runoob.com)
Para aquellos que quieran saber más, consulte el enlace de arriba:
- 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
Puede ver que el tipo (Y) que generamos aquí es de tipo nulo, ¿por qué? Se le demostrará el siguiente nulo (vacío).
El tipo nulo representa un tipo que no tiene ningún valor válido. Tiene un solo valor: nulo. Por ejemplo, imprimir una variable sin asignación generará un valor nulo:
De la siguiente manera: los tipos de salida de las tres variables a las que no se les asignan valores iniciales son todos nulos.
- 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后============")
-
Para las variables y tablas globales, nil también tiene un efecto de "eliminación". Asignar un valor nulo a las variables globales o variables en la tabla equivale a eliminarlas.
type(X)==nil da como resultadoFALSOLa razón es que el tipo (X) es esencialmente la cadena "nula" devuelta, que es un tipo de cadena:
El tipo booleano tiene solo dos valores opcionales: verdadero (verdadero) y falso (falso). Lua trata falso y nulo como falso, y todo lo demás es verdadero.
- 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 tiene solo un tipo de número por defecto: tipo doble (doble precisión) (el tipo predeterminado se puede modificar en luaconf.h), los siguientes métodos de escritura se consideran num
Al realizar operaciones aritméticas en una cadena numérica, Lua intentará convertir la cadena numérica en un número:
En Lua, la creación de tablas se logra mediante "expresiones constructivas". La expresión construida más simple es {}, que se utiliza para crear una tabla vacía. También puede agregar algunos datos a la tabla e inicializar la tabla directamente:
Una mesa en Lua es en realidad una"Matriz asociativa"(matrices asociativas), el índice de la matriz puede ser un número o una cadena.
La tabla no tendrá una longitud fija. Cuando se agreguen nuevos datos, la longitud de la tabla aumentará automáticamente. Las tablas que no estén inicializadas serán nulas.
En Lua, las funciones se consideran "valores de primera clase".
En Lua, el hilo más importante es la corrutina. Es similar a un hilo y tiene su propia pila independiente, variables locales y puntero de instrucciones.
Las variables globales y la mayoría de las demás cosas se pueden compartir con otras corrutinas.La diferencia entre subprocesos y corrutinas: los subprocesos se pueden ejecutar varias veces al mismo tiempo, pero las corrutinas solo pueden ejecutar una a la vez, y una corrutina en ejecución solo se suspenderá cuando esté suspendida.
userdata es un tipo de datos definidos por el usuario que se utiliza para representar un tipo creado por una aplicación o biblioteca de lenguaje C/C++.
Puede almacenar cualquier dato de cualquier tipo de datos C/C++ (normalmente estructura y puntero) en una variable Lua y llamarlo