table

Mostrar obsoleto

*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

  • clear(table : table):()

    Define todas as chaves na tabela dada para nil .

  • Retorna uma cópia superficial da tabela fornecida.

  • concat(t : Array,sep : string,i : number,j : number):string

    Retorna o alcance dado de elementos de tabela como uma string onde cada elemento é separado pelo separador dado.

  • create(count : number,value : Variant):table

    Retorna uma nova tabela populada com muitas instâncias do valor especificado.

  • find(haystack : table,needle : Variant,init : number):Variant

    Retorna o índice da primeira ocorrência de needle dentro de haystack começando por init .

  • Torna a tabela dada inacessível.

  • insert(t : Array,pos : number,value : Variant):()

    Insere o valor fornecido na posição alvo do matriz / lista.

  • insert(t : Array,value : Variant):()

    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.

  • move(src : table,a : number,b : number,t : number,dst : table):table

    Copia o alcance especificado de elementos de uma tabela para outra.

  • pack(values... : Variant):Variant

    Retorna uma nova tabela contendo os valores fornecidos.

  • remove(t : Array,pos : number):Variant

    Remove o elemento especificado do matriz / lista, deslocando elementos posteriores para preencher o espaço vazio, se possível.

  • sort(t : Array,comp : function):()

    Ordena elementos da tabela usando a função de comparação fornecida ou o operador <.

  • unpack(list : table,i : number,j : number):Tuple

    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, 6
table.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

table: table

A tabela cujas chaves serão limpas.

Devolução

()

clone

Retorna uma cópia superficial descongelada da tabela fornecida.

Parâmetros

A tabela para ser clonada.

Devolução

O clone da tabela fornecida.

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

A tabela que será convertida em uma string / cadeia / texto.

sep: string

A string que será concatenada entre cada entrada na tabela.

O índice inicial da concatenação da tabela.

Valor Padrão: 1

O índice final da concatenação da tabela.

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

count: number
value: Variant

Devolução

find

Variant

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")) --> 4
print(table.find(t, "z")) --> nil, porque z não está na tabela
print(table.find(t, "b", 3)) --> nil, because b appears before index 3

Parâmetros

haystack: table
needle: Variant
init: number

Devolução

Variant

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

()

Insere o valor fornecido na posição alvo do matriz / lista.

Parâmetros

A tabela que está sendo anexada.

pos: number

A posição em que o valor será inserido.

value: Variant

O valor que será anexado à tabela.

Devolução

()

insert

()

Adiciona o valor fornecido ao final do matriz / lista.

Parâmetros

A tabela que está sendo anexada.

value: Variant

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().

maxn

Retorna a chave numérica máxima da tabela fornecida ou zero se a tabela não tiver chaves numéricas. Os espaços na tabela são ignorados.

Parâmetros

Devolução

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

src: table

Tabela de origem.

Comece a copiar em src[a] .

Copie até e incluindo src[b].

Copie para dst[t], ....

dst: table

Tabela de destino.

Valor Padrão: src

Devolução

dst , para conveniência.

pack

Variant

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

values...: Variant

Devolução

Variant

remove

Variant

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

A tabela que está tendo um elemento removido.

pos: number

O índice do elemento a ser removido.

Devolução

Variant

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

comp: function

Uma função de comparação opcional a ser usada ao comparar elementos na tabela.Essa função recebe dois elementos e deve retornar verdadeiro se o primeiro elemento deve ser ordenado antes do segundo na ordem final.

Valor Padrão: nil

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().

Parâmetros

list: table

A lista de elementos a serem desempacotados.

O índice do primeiro elemento a desembrulhar.

Valor Padrão: 1

O índice do último elemento a desembrulhar.

Valor Padrão: #list

Devolução