Operadores aritméticos
Los operadores aritméticos de Lua son:
"+" (adición):
La copia del código es la siguiente:
Imprimir (1 + 2)
"-" (resta):
La copia del código es la siguiente:
Imprimir (2 - 1)
"*"(multiplicación):
La copia del código es la siguiente:
Imprimir (1 * 2)
"/"(división):
La copia del código es la siguiente:
Imprimir (1/2)
"^" (índice):
La copia del código es la siguiente:
Imprimir (27^(-1/3))
"%" (modelo):
La copia del código es la siguiente:
Imprimir (5 % 3)
Operadores relacionales
Lua proporciona los siguientes operadores relacionales:
La copia del código es la siguiente:
<> <=> = == ~ =
Las operaciones devueltas por los operadores anteriores son verdaderas o falsas. Las cadenas no se pueden comparar con los números
Operadores lógicos
Los operadores lógicos incluyen y, o no
La copia del código es la siguiente:
Imprimir (1 y 2)
Imprimir (nulo y 1)
Imprimir (falso y 2)
Imprimir (1 o 2)
Imprimir (falso o 5)
Los operadores lógicos tratan falso y nulo como falsos, y otros como verdaderos.
Variables y alcance locales
Lua crea variables locales a través de declaraciones locales, y el alcance de las variables locales se limita al bloque que las declara.
La copia del código es la siguiente:
Local A, B = 1, 10
Si a <b entonces
Imprimir (a)
local A
Imprimir (a)
fin
Imprimir (A, B)
Guardar variables globales con variable local local puede acelerar el acceso a las variables globales en el alcance actual. Para el efecto de aceleración, compare el tiempo de ejecución de la secuencia de Fibonacci a continuación para calcular:
La copia del código es la siguiente:
función fibonacci (n)
Si n <2 entonces
Regresar n
fin
return fibonacci (N - 2) + Fibonacci (N - 1)
fin
io.write (Fibonacci (50), "/n")
Use variable local local local
La copia del código es la siguiente:
función local fibonacci (n)
Si n <2 entonces
Regresar n
fin
return fibonacci (N - 2) + Fibonacci (N - 1)
fin
io.write (Fibonacci (50), "/n")
Estructura de control
Si entonces el más final termina
La copia del código es la siguiente:
Si num == 1 entonces
Imprimir (1)
elseif num == 2 entonces
Imprimir (2)
demás
Imprimir ("Otro")
fin
Lua no admite declaraciones de conmutador
Mientras
Primero juzgue la condición del tiempo. Si la condición es verdadera, ejecute el cuerpo del bucle, de lo contrario finalizará
La copia del código es la siguiente:
local i = 1
Mientras que un [i] lo hace
imprimir (a [i])
i = i + 1
fin
repetir
Primero ejecute el cuerpo de circulación una vez, luego juzgue la condición. Si la condición es verdadera, salga del cuerpo de circulación, de lo contrario, continúe ejecutando el cuerpo de circulación. Similar a las declaraciones de Do-While en otros idiomas, el cuerpo del bucle se ejecutará al menos una vez.
La copia del código es la siguiente:
local a = 1
repetir
a = a + 1
B = A
Imprimir (b)
hasta B <10
para bucle
Hay dos formularios para declaraciones de bucle: numérico para (numérico para), genérico para (genérico para)
Número para la sintaxis:
La copia del código es la siguiente:
Para comenzar, final, paso do
haciendo algo
fin
El inicio es el valor de inicio, el final es el valor final y el paso es el tamaño de paso (opcional, el valor predeterminado es 1)
La copia del código es la siguiente:
para a = 10, 0, -2 hacer
Imprimir (a)
fin
Un genérico para el bucle atraviesa todos los valores a través de una función iteradora:
La copia del código es la siguiente:
tab = {key1 = "val1", key2 = "val2", "val3"}
para k, v en pares (pestaña) hacer
Si K == "Key2" entonces
romper
fin
Imprimir (K .. " -" .. V)
fin
Las declaraciones de descanso y retorno se utilizan para salir del bloque ejecutado actualmente.