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 proporciona funciones genéricas para la manipulación de tablas/matrices, proporcionando todas sus funciones dentro de la variable global table . La mayoría de las funciones en la biblioteca table asumen que la tabla representa un matriz. Para estas funciones, la "Longitud" de una tabla significa el resultado del operador de longitud.

Resumo

Funções

  • clear(table : table):void

    Establece todas las llaves en la tabla dada a nulo.

  • Devuelve una copia baja de la tabla proporcionada.

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

    Devuelve el rango dado a los elementos de la tabla como una cadena donde cada elemento está separado por el separador dado.

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

    Regresa una nueva tabla llena de muchas instancias del valor especificado.

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

    Devuelve el índice de la primera ocurrencia de needle dentro de haystack que comienza desde init .

  • Hace que la tabla dada sea solo de lectura.

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

    Inserta el valor proporcionado a la posición objetivo del matriz/lista.

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

    Añade el valor proporcionado al final del matriz/lista.

  • Devuelve true si la tabla que se ha dado está congelada y false si no está congelada.

  • Devuelve la llave numérica máxima de la tabla proporcionada, o cero si no tiene llaves numéricas.

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

    Copia el rango especificado de elementos de una tabla a otra.

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

    Regresa una nueva tabla que contiene los valores proporcionados.

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

    Elimina el elemento especificado del matriz/lista, moviendo los elementos siguientes para llenar el espacio vacío si es posible.

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

    Ordena los elementos de la tabla usando la función de comparación proporcionada o el operador <.

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

    Devuelve todos los elementos de la lista dada como un tupla.

Funções

clear

void

Establece el valor de todas las llaves dentro de la tabla dada a nulo. Esto causa que el operador # devuelva 0 por la tabla dada. La capacidad almacenada de la parte del arreglo de la tabla se mantiene, lo que permite un uso eficiente del espacio.


local grades = {95, 82, 71, 92, 100, 60}
print(grades[4], #grades) --> 92, 6
table.clear(grades)
print(grades[4], #grades) --> nulo, 0
-- Si las calificaciones se llenan de nuevo con el mismo número de entradas,
-- no se producirsereubicación de matriz de precio potencialmente costoso
-- because the capacity was maintained by table.clear.

Esta función no elimina/destruye la tabla proporcionada. Esta función se destina a ser usada específicamente para las tablas que se reutilizan.

Parâmetros

table: table

La tabla cuyas llaves se eliminarán.

Devolução

void

clone

Regresa una copia de la tabla proporcionada descongelada.

Parâmetros

La tabla para clonear.

Devolução

La clonación de la tabla proporcionada.

concat

Dado un arreglo donde todos los elementos son cadenas o números, devuelve la cadena t[i] ... sep ... t[i+1] ... sep ... t[j] . El valor predeterminado para sep es un valor vacío, el valor predeterminado para i es 1, y el valor predeterminado para j es #t. Si i es mayor

Parâmetros

La tabla que se convertirá en una cadena.

sep: string

La cadena que se concatenará entre cada entrada en la tabla.

El índice de inicio de la concatenación de la tabla.

Valor Padrão: 1

El índice de finalización de la concatenación de la tabla.

Devolução

create

Crea una tabla con la parte de arreglo asignada al elemento dado number de elementos, opcionalmente llena con el dado value .


local t = table.create(3, "Roblox")
print(table.concat(t)) --> RobloxRobloxRoblox

Si está insertando en grandes tablas de arreglo como y está seguro de un límite de arreglo razonable para el número de elementos, se recomienda utilizar esta función para inicializar la tabla. Esto garantiza que la parte de arreglo del tabla de su memoria sea lo suficientemente grande, ya que escalarla puede ser costosa. Para pequeñas cantidades esto generalmente no es notorio.

Parâmetros

count: number
value: Variant

Devolução

find

Variant

Dentro de la tabla dada en forma de matriz haystack, encuentra la primera ocurrencia de valor needle , comenzando desde el índice init o el comienzo si no se proporciona. Si el valor no se encuentra, 1> nil1> se devuelve.

Se realiza un algoritmo de búsqueda lineal.


local t = {"a", "b", "c", "d", "e"}
print(table.find(t, "d")) --> 4
print(table.find(t, "z")) --> nil, porque z no está en la tabla
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

Esta función hace que la tabla dada sea solo de lectura, lo que la hace efectivamente "congelar" en su estado actual. Intentar modificar una tabla congelada da un error.

Este efecto de congelación es superficial, lo que significa que puedes escribir en una tabla dentro de una tabla congelada. Para congelar profundamente una tabla, llama a esta función recursivamente en todas las tablas descendentes.

Parâmetros

La tabla que se va a congelar.

Devolução

La mesa congelada.

insert

void

Inserta el valor proporcionado a la posición objetivo del matriz/lista.

Parâmetros

La tabla que se está añadiendo.

pos: number

La posición en la que se insertará el valor.

value: Variant

El valor que se añadirá a la tabla.

Devolução

void

insert

void

Añade el valor proporcionado al final del matriz/lista.

Parâmetros

La tabla que se está añadiendo.

value: Variant

El valor que se añadirá a la tabla.

Devolução

void

isfrozen

Esta función devuelve true si la tabla que se ha dado está congelada y false si no está congelada. Puedes congelar tablas usando table.freeze() .

Parâmetros

La tabla para verificar, comprobar.

Devolução

Si la tabla está congelada desde table.freeze() .

maxn

Devuelve la llave numérica máxima de la tabla proporcionada, o cero si no hay llaves numéricas. Se ignoran los espacios en la tabla.

Parâmetros

Devolução

move

Copia elementos en la tabla src de src[a] hasta src[b] en la tabla 1> dst1> comenzando con el índice 4> t4> . Equivalente a la declaración de asignación 7> dst[t], ..., ds

El valor predeterminado para dst es src . El rango de destino puede coincidir con el rango de origen.

Regresa dst para conveniencia.

Parâmetros

src: table

Tabela de origen.

Comienza a copiar en src[a] .

Copiar hasta y incluir src[b] .

Copiar en dst[t], ... .

dst: table

Tabela de destino.

Valor Padrão: src

Devolução

dst , para conveniencia.

pack

Variant

Regresa una nueva tabla con todos los argumentos almacenados en las llaves 1, 2, etc. y con un campo "n" con el número total de argumentos. Nota que la tabla resultante puede no ser una secuencia.


local t = table.pack(1, 2, 3)
print(table.concat(t, ", ")) --> 1, 2, 3

Parâmetros

values...: Variant

Devolução

Variant

remove

Variant

Elimina del elemento de arreglo el elemento en la posición pos, devolviendo el valor del elemento eliminado. Cuando pos es un número entre 1 y #t , se desplaza hacia abajo los elementos t[pos+1], t[pos+2], ..., t[#t] y elimina el elemento 1>

Parâmetros

La tabla que tiene un elemento eliminado.

pos: number

El índice del elemento que se está eliminando.

Devolução

Variant

sort

void

Ordena los elementos de la matriz en un ordenado específico, desde t[1] a t[#t] . Si se da el caso, comp, debe ser una función que recibe dos elementos y devuelve true cuando el primer elemento debe venir antes del segundo en el ordenado final.

El error invalid order function for sorting se lanza si ambos comp(a, b) y comp(b, a) devuelven 1> true1> .

Si no se ha dado comp, entonces el operador Lua estándar < se usa en su lugar.

Parâmetros

comp: function

Una función de comparación opcional para usar cuando se comparan elementos en la tabla. Esta función recibe dos elementos y debe返回 true si el primer elemento debería ser sorteado antes del segundo en el orden final.

Valor Padrão: nil

Devolução

void

unpack

Devuelve los elementos de la lista dada. Por defecto, i es 1 y j es la longitud de list .

Tenga en cuenta que esta misma funcionalidad también se proporciona por la función global unpack() .

Parâmetros

list: table

La lista de elementos para desempaqueta.

El índice del primer elemento para descomprimir.

Valor Padrão: 1

El índice del último elemento para descompilar.

Valor Padrão: #list

Devolução