table

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

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 array o una lista.Para estas funciones, la "longitud" de una tabla significa el resultado del operador de longitud.

Resumen

Funciones

  • clear(table : table):()

    Establece todas las claves en la tabla dada a nil .

  • Devuelve una copia superficial de la tabla proporcionada.

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

    Devuelve el rango dado de elementos de tabla como una cadena en la que cada elemento se separa por el separador dado.

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

    Devuelve una nueva tabla poblada con 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 comenzando por init .

  • Hace que la tabla dada sea solo de lectura.

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

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

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

    Aplica el valor proporcionado al final del matriz/lista.

  • Devuelve true si la tabla dada está congelada y false si no está congelada.

  • Devuelve la clave numérica máxima de la tabla proporcionada, o cero si la tabla no tiene claves 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

    Devuelve una nueva tabla que contiene los valores proporcionados.

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

    Elimina el elemento especificado de la matriz/lista, desplazando elementos posteriores para llenar el espacio vacío si es posible.

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

    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.

Funciones

clear

()

Establece el valor para todas las claves dentro de la tabla dada a nil .Esto hace que el operador # devuelva 0 para la tabla dada.Se mantiene la capacidad asignada de la parte del array de la tabla, 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) --> nil, 0
-- Si las calificaciones se llenan nuevamente con el mismo número de entradas,
-- no producirseun potencialmente costoso recorte de matriz
-- because the capacity was maintained by table.clear.

Esta función no elimina/destruye la tabla proporcionada a ella. Esta función está destinada a ser utilizada específicamente para tablas que se reutilizarán.

Parámetros

table: table

La tabla cuyas claves se borrarán.

Devuelve

()

clone

Devuelve una copia poco profunda descongelada de la tabla proporcionada.

Parámetros

La tabla para clonar.

Devuelve

El clon de la tabla proporcionada.

concat

Dado un array 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 una cadena vacía, el predeterminado para i es 1, y el predeterminado para j es #t.Si i es mayor que j , devuelve la cadena vacía.

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 tablas.

Valor predeterminado: 1

El índice final de la concatenación de tablas.

Devuelve

create

Crea una tabla con la porción de array asignada al elemento dado, opcionalmente llena con el dado .


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

Si está insertando en tablas grandes similares a tablas y está seguro de un límite superior razonable para el número de elementos, se recomienda usar esta función para inicializar la tabla.Esto garantiza que la parte del array de la tabla de su memoria sea suficientemente grande, ya que cambiarla puede ser costosa.Para cantidades pequeñas, esto no es normalmente perceptible.

Parámetros

count: number
value: Variant

Devuelve

find

Variant

Dentro de la tabla parecida a un array dada haystack, encuentra la primera ocurrencia de valor needle, comenzando por el índice init o desde el principio si no se proporciona.Si el valor no se encuentra, se devuelve nil .

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

Devuelve

Variant

freeze

Esta función hace que la tabla dada sea solo de lectura, efectivamente "congelándola" en su estado actual. Al intentar modificar una tabla congelada se produce 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, llame a esta función recursivamente en todas las tablas descendientes.

Parámetros

La tabla para ser congelada.

Devuelve

La mesa congelada.

insert

()

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

Parámetros

La tabla a la 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.

Devuelve

()

insert

()

Aplica el valor proporcionado al final del matriz/lista.

Parámetros

La tabla a la que se está añadiendo.

value: Variant

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

Devuelve

()

isfrozen

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

Parámetros

La tabla para verificar, comprobar.

Devuelve

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

maxn

Devuelve la clave numérica máxima de la tabla proporcionada, o cero si la tabla no tiene claves numéricas. Se ignoran los espacios en la tabla.

Parámetros

Devuelve

move

Copia elementos en la tabla src de src[a] hasta src[b] en la tabla dst comenzando en el índice t .Equivalente a la declaración de asignación dst[t], ..., dst[t + (b - a)] = src[a], ..., src[b] .

El predeterminado para dst es src . La gama de destino puede superponerse con la gama de origen.

Devuelve dst por conveniencia.

Parámetros

src: table

Tabla de fuente.

Comience a copiar en src[a] .

Copiar hasta y incluir src[b].

Copiar en dst[t], ....

dst: table

Tabla de destino.

Valor predeterminado: src

Devuelve

dst , para conveniencia.

pack

Variant

Devuelve una nueva tabla con todos los argumentos almacenados en las claves 1, 2, etc.y con un campo "n" con el número total de argumentos.Tenga en cuenta 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

Devuelve

Variant

remove

Variant

Elimina del array el elemento en la posición pos, devolviendo el valor del elemento eliminado.Cuando pos es un entero entre 1 y #t, cambia los elementos t[pos+1], t[pos+2], ..., t[#t] y elimina el elemento t[#t].Si el parámetro pos no se proporciona, pos se predetermina la longitud de la tabla al eliminar el último elemento.

Parámetros

La tabla que tiene un elemento eliminado.

pos: number

El índice del elemento que se está eliminando.

Devuelve

Variant

sort

()

Ordena los elementos del array t en un orden dado, de t[1] a t[#t] .Si se da comp entonces debe ser una función que recibe dos elementos y devuelve verdadero cuando el primer elemento debe venir antes del segundo en el orden final.

Se lanza el error invalid order function for sorting si tanto comp(a, b) y comp(b, a) devuelven true .

Si no se da comp, se usa el operador estándar Luau < en su lugar.

Parámetros

comp: function

Una función de comparación opcional para usar al comparar elementos en la tabla.Esta función recibe dos elementos y debe devolver verdadero si el primer elemento debe ser ordenado antes del segundo en el orden final.

Valor predeterminado: nil

Devuelve

()

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 es proporcionada por la función global unpack() .

Parámetros

list: table

La lista de elementos para desempaquetar.

El índice del primer elemento para desempaquinar.

Valor predeterminado: 1

El índice del último elemento para desempaquinar.

Valor predeterminado: #list

Devuelve