table
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Esta biblioteca fornece funções genéricas para manipulação de tabela/array, fornecendo todas as suas funções dentro da variável global table.A maioria das funções na biblioteca table assumem que a tabela representa um array ou uma lista.Para essas funções, a "comprimento" de uma tabela significa o resultado do operador de comprimento.
Resumo
Funções
Define todas as chaves na tabela dada para nil .
Retorna uma cópia superficial da tabela fornecida.
Retorna o alcance dado de elementos de tabela como uma string onde cada elemento é separado pelo separador dado.
Retorna uma nova tabela populada com muitas instâncias do valor especificado.
Retorna o índice da primeira ocorrência de needle dentro de haystack começando por init .
Torna a tabela dada inacessível.
Insere o valor fornecido na posição alvo do matriz / lista.
Adiciona o valor fornecido ao final do matriz / lista.
Retorna true se a tabela dada estiver congelada e false se não estiver congelada.
Retorna a chave numérica máxima da tabela fornecida ou zero se a tabela não tiver chaves numéricas.
Copia o alcance especificado de elementos de uma tabela para outra.
Retorna uma nova tabela contendo os valores fornecidos.
Remove o elemento especificado do matriz / lista, deslocando elementos posteriores para preencher o espaço vazio, se possível.
Ordena elementos da tabela usando a função de comparação fornecida ou o operador <.
Retorna todos os elementos da lista dada como um tupla.
Funções
clear
Define o valor para todas as chaves dentro da tabela dada para nil .Isso faz com que o operador # retorne 0 para a tabela dada.A capacidade alocada da parte do array da tabela é mantida, o que permite um reuso eficiente do espaço.
local grades = {95, 82, 71, 92, 100, 60}print(grades[4], #grades) --> 92, 6table.clear(grades)print(grades[4], #grades) --> nil, 0-- Se as classificações forem preenchidas novamente com o mesmo número de entradas,-- não ocorrerá potencialmente cara revisão de tamanho de array-- because the capacity was maintained by table.clear.
Essa função não exclui/destrói a tabela fornecida a ela. Essa função é destinada a ser usada especificamente para tabelas que devem ser reutilizadas.
Parâmetros
A tabela cujas chaves serão limpas.
Devolução
concat
Dado um array onde todos os elementos são strings ou números, retorna a string t[i] ... sep ... t[i+1] ... sep ... t[j].O valor padrão para sep é uma string / cadeia / textovazia, o padrão para i é 1 e o padrão para j é #t.Se i for maior que j, retorna a string / cadeia / textovazia.
Parâmetros
Devolução
create
Cria uma tabela com a porção do array atribuída ao dado number de elementos, opcionalmente preenchida com o dado value.
local t = table.create(3, "Roblox")print(table.concat(t)) --> RobloxRobloxRoblox
Se você estiver inserindo em grandes tabelas semelhantes a arrays e tiver certeza de um limite superior razoável para o número de elementos, é recomendado usar essa função para inicializar a tabela.Isso garante que a porção de array da tabela de sua memória seja suficientemente dimensionada, pois redimensioná-la pode ser caro.Para pequenas quantidades, isso normalmente não é perceptível.
Parâmetros
Devolução
find
Dentro da tabela semelhante a array dada haystack, encontre a primeira ocorrência de valor needle, começando pelo índice init ou pelo início se não for fornecido.Se o valor não for encontrado, nil é retornado.
Um algoritmo de pesquisa linear é executado.
local t = {"a", "b", "c", "d", "e"}print(table.find(t, "d")) --> 4print(table.find(t, "z")) --> nil, porque z não está na tabelaprint(table.find(t, "b", 3)) --> nil, because b appears before index 3
Devolução
freeze
Essa função torna a tabela dada apenas leitura, efetivamente "congelando"-a em seu estado atual. Tentar modificar uma tabela congelada lança um erro.
Este efeito de congelamento é superficial, o que significa que você pode escrever em uma tabela dentro de uma tabela congelada.Para congelar profundamente uma tabela, chame essa função recursivamente em todas as tabelas descendentes.
Parâmetros
A tabela para ser congelada.
Devolução
A mesa congelada.
insert
Adiciona o valor fornecido ao final do matriz / lista.
Parâmetros
A tabela que está sendo anexada.
O valor que será anexado à tabela.
Devolução
isfrozen
Essa função retorna true se a tabela dada estiver congelada e false se ela não estiver congelada. Você pode congelar tabelas usando table.freeze() .
Parâmetros
A tabela para verificar / conferir.
Devolução
Se a tabela está congelada a partir de table.freeze().
move
Copia elementos na tabela src a partir de src[a] até src[b] na tabela dst começando no índice t .Equivalente à declaração de atribuição dst[t], ..., dst[t + (b - a)] = src[a], ..., src[b] .
O padrão para dst é src. A faixa de destino pode sobrepor-se à faixa de origem.
Retorna dst para conveniência.
Parâmetros
Devolução
dst , para conveniência.
pack
Retorna uma nova tabela com todos os argumentos armazenados em chaves 1, 2, etc.e com um campo "n" com o número total de argumentos.Observe que a tabela resultante pode não ser uma sequência.
local t = table.pack(1, 2, 3)print(table.concat(t, ", ")) --> 1, 2, 3
Parâmetros
Devolução
remove
Remove do array o elemento na posição pos, retornando o valor do elemento removido.Quando pos é um inteiro entre 1 e #t, ele desloca os elementos t[pos+1], t[pos+2], ..., t[#t] e apaga o elemento t[#t].Se o parâmetro pos não for fornecido, pos padrão para o comprimento da tabela removendo o último elemento.
Parâmetros
Devolução
sort
Ordena os elementos do array t em uma ordem dada, de t[1] a t[#t].Se comp for dado, então deve ser uma função que recebe dois elementos e retorna verdadeiro quando o primeiro elemento deve vir antes do segundo na ordem final.
O erro invalid order function for sorting é arremessado se ambos comp(a, b) e comp(b, a) retornarem true .
Se comp não for dado, então o operador padrão Luau < é usado em vez disso.
Parâmetros
Devolução
unpack
Retorna os elementos da lista dada. Por padrão, i é 1 e j é a comprimento de list .
Observe que essa mesma funcionalidade também é fornecida pela função global unpack().