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 .