tipo de datos Lua (2)

tipos de datos de Lua

Lua se escribe dinámicamente idiomas, las variables, las definiciones de tipo no sólo tienen que Asignar valores a las variables. Los valores pueden ser almacenados en las variables, se pasa como argumentos o resultados de retorno.

Lua hay ocho tipos básicos son: cero, booleano, número, cadena, los datos de usuario, la función, el hilo y mesa.

Tipos de datos descripción
nulo El más simple, sólo el valor de nulo pertenecen a esta clase, representan un valor no válido (equivalente a la falsa expresión condicional).
booleano Contiene dos valores: falsas y verdaderas.
número Representa un tipo flotante de doble real
cuerda Cadena está representado por unas simples o dobles comillas
función Función escrita en C o Lua
datos del usuario C representa cualquier estructura de datos almacenada en una variable
hilo Representa a cabo circuitos independientes, un programa para ejecutar la cooperativa
mesa tablas Lua (tabla) es en realidad una "matriz asociativa" (arrays asociativos), el índice de la matriz puede ser un número, una cadena o un tipo de tabla. Cuando en Lua, creación de la tabla se realiza por "construir una expresión" es la expresión de la configuración más sencilla {}, para crear una tabla vacía.

Podemos utilizar la función de tipo para probar el tipo de una variable o valor dado:

Ejemplos

imprimir ( Tipo ( " Hola mundo " ))       - > string 
de impresión ( tipo ( 10.4 * 3 ))              - > Número 
de impresión ( tipo ( de impresión ))               - > Función 
de impresión ( tipo ( tipo ))                - > función 
de impresión ( tipo ( verdadera ))                - > boolean 
de impresión ( tipo (nil ))                 - > nil 
de impresión ( tipo ( tipo (X)))             - > string

 


nil (vacío)

nil no tiene ningún tipo indica un valor válido, tiene sólo un valor - cero, por ejemplo, la impresión de una variable no está asignada, se dará salida a un valor nulo:

 impresión ( tipo (a)) 

Para las variables globales y mesa, nula y una mesa de acción "borrar" a una variable o una tabla de variables globales que se asigna un valor nulo, lo que equivale a eliminarlos, ejecutando el siguiente código conocido:

Los resultados:

 

Debe ser nula para la comparación entre comillas dobles  ":

> Tipo (X)
 nil 
> tipo (X) == nil 
falsa 
> tipo (X) == " nil " 
verdadera 
>

tipo (X) == nil resultado es  falsa  razón es porque el  tipo (tipo (X)) == cadena.


boolean (booleano)

tipo booleano tiene sólo dos valores posibles: true (verdadero) y false (falso), Lua false y nil considerado falso, otros son verdaderas, el número 0 es cierto:

Ejemplos

Código ejecuta los resultados anteriores son los siguientes:


Número (Digital)

predeterminado Lua es solamente un tipo de número - doble (doble precisión) tipo (se puede modificar el luaconf.h tipo por defecto en la definición), el texto siguiente se ve que es el tipo de número:

Ejemplos

Los anteriores resultados de la ejecución de código:


string (cadena)

Cadena está representado por unas simples o dobles comillas.

2 también se puede utilizar entre corchetes "[[]]" para significar "una" cadena.

Ejemplos

Los siguientes resultados de la ejecución de código:

Cuando una cadena numérica para las operaciones aritméticas, Lua intenta convertir esta cadena en un dígito numérico:

 

El código anterior "error" + 1 realiza una determinada cadena .. usos de conexión, tales como:

 

 

 

# Se utiliza para calcular la longitud de la cadena, en frente de la cadena, los siguientes ejemplos:

Ejemplos

 


Tabla (Tabla)

Cuando en Lua, creación de la tabla se realiza por "construir una expresión" es la expresión de la configuración más sencilla {}, para crear una tabla vacía. También puede añadir algunos datos de la tabla, tabla de inicialización directa:

Ejemplos

- Crear una tabla vacía
TBL1 locales = {}
- Inicial Tabla Directa
TBL2 locales = { "manzana", "pera", "naranja", "uva"}

tablas Lua (tabla) es en realidad una "matriz asociativa" (arrays asociativos), el índice de la matriz puede ser un número o una cadena.

Ejemplos

 

A diferencia de otros idiomas matriz al índice de matriz 0 como un índice inicial predeterminado inicial en Lua en la Tabla 1 generalmente comenzar.

Ejemplos

Scripts resultados de la ejecución:

tamaño de la tabla no es una longitud fija, hay un aumento automático de la longitud de la mesa como se añaden nuevos datos, la tabla inicial no es nula.

Ejemplos

Scripts resultados de la ejecución:


función (función)

En Lua, la función es considerado como "valores de primera clase (First-Class Value)", que puede ser variable en función de:

Ejemplos

Scripts resultados de la ejecución:

parámetros de la función se pueden pasar como una (función Anónimo) función anónima es:

Ejemplos

Scripts resultados de la ejecución:


hilo (thread)

En Lua, el hilo principal es un programa de colaboración (co-rutina). Es casi como un hilo (hilo), tienen su propia pila independiente, variables locales, y el puntero de instrucciones, puede compartir variables globales, y la mayoría de otras cosas con otros programas de colaboración.

diferencia de rosca con corrutinas: múltiples hilos pueden ejecutar simultáneamente, y co-rutina sólo se puede ejecutar uno en cualquier momento, y sólo se suspende co-rutina se ejecuta de pausa (suspender).


UserData (tipo personalizado)

userdata es un conjunto de datos definidos por el usuario, para representar un tipo de aplicación o mediante la librería del lenguaje C / C ++ creado puede ser de cualquier tipo de datos arbitrario / C de datos de C ++ (típicamente struct y punteros) almacenado en Lua llamada variable.

Supongo que te gusta

Origin www.cnblogs.com/dalianpai/p/12452674.html
Recomendado
Clasificación