Operadores aritméticos
Os operadores aritméticos de Lua são:
"+" (adição):
A cópia do código é a seguinte:
Imprimir (1 + 2)
"-" (subtração):
A cópia do código é a seguinte:
Imprimir (2 - 1)
"*"(multiplicação):
A cópia do código é a seguinte:
Imprimir (1 * 2)
"/"(divisão):
A cópia do código é a seguinte:
Imprimir (1/2)
"^" (índice):
A cópia do código é a seguinte:
Imprimir (27^(-1/3))
"%" (modelo):
A cópia do código é a seguinte:
Imprimir (5 % 3)
Operadores relacionais
Lua fornece os seguintes operadores relacionais:
A cópia do código é a seguinte:
<> <=> = == ~ = =
As operações retornadas pelos operadores acima são verdadeiras ou falsas. Strings não podem ser comparadas com números
Operadores lógicos
Os operadores lógicos incluem e, ou não
A cópia do código é a seguinte:
Impressão (1 e 2)
Imprimir (nulo e 1)
Imprimir (falso e 2)
Imprimir (1 ou 2)
Imprimir (falso ou 5)
Os operadores lógicos tratam falsos e nulos como falsos e outros como verdadeiros.
Variáveis e escopo locais
Lua cria variáveis locais através de declarações locais, e o escopo das variáveis locais é limitado ao bloco que as declara.
A cópia do código é a seguinte:
Local A, B = 1, 10
Se um <b então
Imprimir (a)
Local a
Imprimir (a)
fim
Imprimir (a, b)
Salvar variáveis globais com variável local local pode acelerar o acesso a variáveis globais no escopo atual. Para o efeito de aceleração, compare o tempo de execução da sequência de Fibonacci abaixo para calcular:
A cópia do código é a seguinte:
função fibonacci (n)
Se n <2 então
Retornar n
fim
Retornar Fibonacci (n - 2) + Fibonacci (n - 1)
fim
io.write (fibonacci (50), "/n")
Use variável local local
A cópia do código é a seguinte:
função local Fibonacci (n)
Se n <2 então
Retornar n
fim
Retornar Fibonacci (n - 2) + Fibonacci (n - 1)
fim
io.write (fibonacci (50), "/n")
Estrutura de controle
se então elseise mais
A cópia do código é a seguinte:
se num == 1 então
impressão (1)
elseif num == 2 então
impressão (2)
outro
impressão ("outro")
fim
Lua não suporta declarações de troca
Enquanto
Primeiro julgue a condição do tempo. Se a condição for verdadeira, execute o corpo do loop, caso contrário, ele terminará
A cópia do código é a seguinte:
Local I = 1
Enquanto um [eu] faz
Imprimir (a [i])
i = i + 1
fim
repetição-até
Primeiro execute o corpo da circulação uma vez e depois julgue a condição. Se a condição for verdadeira, saia do corpo da circulação, continue a executar o corpo da circulação. Semelhante a declarações do while em outros idiomas, o corpo do loop será executado pelo menos uma vez.
A cópia do código é a seguinte:
Local A = 1
repita
a = a + 1
b = a
impressão (b)
Até B <10
para loop
Existem duas formas para declarações de loop: numérico para (numérico for), genérico para (genérico para)
Número para sintaxe:
A cópia do código é a seguinte:
Para começar, fim, passo a fazer
fazendo algo
fim
Iniciar é o valor inicial, o final é o valor final e a etapa é o tamanho da etapa (opcional, o padrão é 1)
A cópia do código é a seguinte:
para A = 10, 0, -2 do
Imprimir (a)
fim
Um genérico para o loop atravessa todos os valores por meio de uma função de iterador:
A cópia do código é a seguinte:
tab = {key1 = "val1", key2 = "val2", "val3"}
Para k, v em pares (tab) fazer
Se k == "Key2" então
quebrar
fim
Imprimir (k .. " -" .. v)
fim
As declarações de quebra e retorno são usadas para sair do bloco atualmente executado.