📚 Referência Rápida
Documentação concisa para programadores experientes
💡 Dica: Esta é a documentação de referência. Para tutoriais detalhados, veja a documentação didática.
Palavras-chave
| Palavra-chave | Uso | Exemplo |
|---|---|---|
local | Variável local | local x = 10 |
global | Variável global | global y = 20 |
função | Declarar função | função f() fim |
retorne | Retornar valor | retorne x + 1 |
se...então...fim | Condicional | se x > 0 então ... fim |
para...faça...fim | Loop | para i=1,10 faça ... fim |
em | Iterador | para k,v em obtenha_pares(t) faça |
interrompa | Sair do loop | interrompa |
execute | Execute | execute rótulo |
e, ou, não | Operadores lógicos | x > 0 e x < 10 |
verdadeiro, falso, nulo | Literais | local ok = verdadeiro |
⚠️ Não existem:
enquanto, faça...enquanto, repita...até (Use execute e rótulos)
Bibliotecas Padrão
matemática
pi, enorme, inteiro_máximo, inteiro_mínimo, obtenha_valor_absoluto, arredonde_para_piso, arredonde_para_teto, obtenha_máximo, obtenha_mínimo, obtenha_raiz_quadrada, obtenha_seno, obtenha_cosseno, obtenha_tangente, obtenha_arco_seno, obtenha_arco_cosseno, obtenha_arco_tangente, converta_para_radianos, converta_para_graus, obtenha_exponencial, obtenha_logaritmo, gere_aleatório, defina_semente_aleatória, converta_para_inteiro, obtenha_resto_flutuante, separe_fração_inteiro, obtenha_tipo
texto
obtenha_comprimento, converta_para_maiúscula, converta_para_minúscula, obtenha_subtexto, repita, inverta, encontre, substitua_globalmente, formate, obtenha_byte, crie_caractere, combine, combine_globalmente, empacote, desempacote, obtenha_tamanho_pacote
tabela
crie, insira, remova, concatene, ordene, empacote, desempacote, mova
terminal (E/S)
feche, despeje, defina_entrada, itere_linhas, abra, defina_saída, abra_processo, leia, crie_arquivo_temporário, obtenha_tipo, escreva
sistema_operacional
obtenha_relógio, obtenha_data, calcule_diferença_tempo, execute, saia, obtenha_variável_ambiente, remova, renomeie, crie_pasta, defina_localidade, obtenha_tempo, gere_nome_temporário
utf8
obtenha_deslocamento, obtenha_ponto_código, crie_caractere, obtenha_comprimento, itere_códigos, padrão_caractere
corrotina
crie, retome, obtenha_executando, obtenha_estado, envolva, ceda, verifique_pode_ceder, feche
filamento (Assíncrono)
tarefa, inicie_loop, durma
paralelismo
execute_paralelo, aguarde_todos
teste
afirme, afirme_igual, afirme_verdadeiro, afirme_falso
Metamétodos
| Metamétodo | Descrição |
|---|---|
__soma | Operador + |
__subtração | Operador - |
__multiplicação | Operador * |
__divisão | Operador / |
__divisão_inteira | Operador // |
__módulo | Operador % |
__potência | Operador ^ |
__negação_unária | Operador - unário |
__e_bit_a_bit | Operador & (bitwise) |
__ou_bit_a_bit | Operador | (bitwise) |
__ou_exclusivo_bit_a_bit | Operador ~ (bitwise XOR) |
__não_bit_a_bit | Operador ~ unário |
__deslocamento_esquerda | Operador << |
__deslocamento_direita | Operador >> |
__concatenação | Operador .. |
__comprimento | Operador # |
__igualdade | Operador == |
__menor_que | Operador < |
__menor_ou_igual | Operador <= |
__índice | Acesso t[k] |
__novo_índice | Atribuição t[k]=v |
__chamada | Chamar como função |
__coletor_de_lixo | Finalização (GC) |
__modo | Tabelas fracas |
__nome | Nome do tipo |
__feche | Fechar recurso |
Padrões Comuns
Simular else
se condicao então -- código se verdadeiro fim se não condicao então -- código se falso fim
Classe/Construtor
local Classe = {} Classe.__índice = Classe função Classe.metodo(ego) retorne ego.campo fim -- Construtor com __chame defina_metatabela(Classe, { __chame = função(classe, param) local ego = defina_metatabela({}, classe) ego.campo = param retorne ego fim }) local obj = Classe("valor") obj:metodo()
Map/Filter/Reduce
função map(t, f) local r = {} para i, v em obtenha_pares_indexados(t) faça tabela.insira(r, f(v)) fim retorne r fim