Lua - Bibliotecas Padrão
As bibliotecas padrão de Lua fornecem um conjunto rico de funções que são implementadas diretamente com a API C e são embutidas na linguagem de programação Lua. Essas bibliotecas fornecem serviços dentro da linguagem de programação Lua e também serviços externos, como operações de arquivo e db.
Essas bibliotecas padrão construídas na API C oficial são fornecidas como módulos C separados. Inclui o seguinte -
- Biblioteca básica, que inclui a sub-biblioteca de co-rotina
- Biblioteca de Módulos
- Manipulação de cordas
- Manipulação de mesa
- Biblioteca matemática
- Entrada e saída de arquivos
- Instalações do sistema operacional
- Depurar instalações
Biblioteca Básica
Usamos a biblioteca básica ao longo do tutorial em vários tópicos. A tabela a seguir fornece links de páginas relacionadas e lista as funções que são abordadas em várias partes deste tutorial de Lua.
Sr. Não. | Biblioteca / Método e Propósito |
---|---|
1 | Error Handling Inclui funções de tratamento de erros, como assert e error, conforme explicado em Lua - Tratamento de Erros . |
2 | Memory Management Inclui as funções de gerenciamento automático de memória relacionadas à coleta de lixo, conforme explicado em Lua - Coleta de Lixo . |
3 | dofile ([filename]) Ele abre o arquivo e executa o conteúdo do arquivo como um bloco. Se nenhum parâmetro for passado, esta função executa o conteúdo da entrada padrão. Os erros serão propagados para o chamador. |
4 | _G Portanto, é a variável global que mantém o ambiente global (ou seja, _G._G = _G). A própria Lua não usa essa variável. |
5 | getfenv ([f]) Retorna o ambiente atual em uso pela função. f pode ser uma função Lua ou um número que especifica a função naquele nível de pilha - Nível 1 é a função que chama getfenv. Se a função fornecida não for uma função Lua, ou se f for 0, getfenv retornará o ambiente global. O padrão para f é 1. |
6 | getmetatable (object) Se o objeto não tiver uma metatabela, retorna nil. Caso contrário, se a metatabela do objeto possuir um campo "__metatable", retorna o valor associado. Caso contrário, retorna a metatabela do objeto fornecido. |
7 | ipairs (t) Esta função busca os índices e valores das tabelas. |
8 | load (func [, chunkname]) Carrega um trecho usando a função func para obter seus pedaços. Cada chamada a func deve retornar uma string que se concatena com os resultados anteriores. |
9 | loadfile ([filename])) Semelhante ao load, mas obtém a parte do nome do arquivo ou da entrada padrão, se nenhum nome de arquivo for fornecido. |
10 | loadstring (string [, chunkname]) Semelhante a load, mas obtém o pedaço da string fornecida. |
11 | next (table [, index]) Permite que um programa atravesse todos os campos de uma tabela. Seu primeiro argumento é uma tabela e seu segundo argumento é um índice nesta tabela. next retorna o próximo índice da tabela e seu valor associado. |
12 | pairs (t) Suspende a co-rotina em execução. O parâmetro passado para este método atua como valores de retorno adicionais para a função de retomada. |
13 | print (...) Suspende a co-rotina em execução. O parâmetro passado para este método atua como valores de retorno adicionais para a função de retomada. |
14 | rawequal (v1, v2) Verifica se v1 é igual a v2, sem invocar nenhum metamétodo. Retorna um booleano. |
15 | rawget (table, index) Obtém o valor real da tabela [índice], sem invocar nenhum metamétodo. a mesa deve ser uma mesa; índice pode ser qualquer valor. |
16 | rawset (table, index, value) Define o valor real da tabela [índice] como valor, sem invocar nenhum metamétodo. table deve ser uma tabela, indexar qualquer valor diferente de nil e valorizar qualquer valor Lua. Esta função retorna uma tabela. |
17 | select (index, ...) Se o índice for um número, retorna todos os argumentos após o índice do número do argumento. Caso contrário, o índice deve ser a string "#" e o select retorna o número total de argumentos extras recebidos. |
18 | setfenv (f, table) Define o ambiente a ser usado pela função fornecida. f pode ser uma função Lua ou um número que especifica a função naquele nível de pilha - o Nível 1 é a função que chama setfenv. setfenv retorna a função fornecida. Como um caso especial, quando f é 0, setfenv muda o ambiente do thread em execução. Nesse caso, setfenv não retorna nenhum valor. |
19 | setmetatable (table, metatable) Define a meta-tabela para a tabela fornecida. (Você não pode alterar a metatabela de outros tipos de Lua, somente de C.) Se metatabela for nil, remove a metatabela da tabela fornecida. Se a meta-tabela original tiver um campo "__metatable", ocorre um erro. Esta função retorna uma tabela. |
20 | tonumber (e [, base]) Tenta converter seu argumento em um número. Se o argumento já for um número ou uma string conversível em um número, tonumber retornará esse número; caso contrário, retorna nulo. |
21 | tostring (e) Recebe um argumento de qualquer tipo e o converte em uma string em um formato razoável. Para controle completo de como os números são convertidos, use string.format. |
22 | type (v) Retorna o tipo de seu único argumento, codificado como uma string. Os resultados possíveis desta função são "nil" (uma string, não o valor nil), "número", "string", "booleano", "tabela", "função", "thread" e "userdata". |
23 | unpack (list [, i [, j]]) Retorna os elementos da tabela fornecida. |
24 | _VERSION Uma variável global (não uma função) que contém uma string contendo a versão atual do interpretador. O conteúdo atual desta variável é "Lua 5.1". |
25 | Coroutines Inclui as funções de manipulação de co-rotina conforme explicado em Lua - Coroutines . |
Biblioteca de Módulos
A biblioteca de módulos fornece as funções básicas para carregar módulos em Lua. Ele exporta uma função diretamente no ambiente global: requer. Todo o resto é exportado em um pacote de mesa. Os detalhes sobre a biblioteca de módulos são explicados no capítulo anterior Lua - tutorial Módulos .
Manipulação de cordas
Lua fornece um rico conjunto de funções de manipulação de strings. O tutorial anterior do Lua - Strings cobre isso em detalhes.
Manipulação de mesa
Lua depende de tabelas em quase todos os bits de suas operações. O tutorial anterior do Lua - Tables cobre isso em detalhes.
Entrada e saída de arquivos
Freqüentemente, precisamos de facilidade de armazenamento de dados na programação e isso é fornecido por funções de biblioteca padrão para E / S de arquivo em Lua. Isso é discutido no tutorial Lua - File I / O anterior .
Depurar instalações
Lua fornece uma biblioteca de depuração que fornece todas as funções primitivas para criarmos nosso próprio depurador. Isso é discutido em Lua - tutorial de depuração anterior .