table

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Cette bibliothèque fournit des fonctions génériques pour la manipulation de table/array, en fournissant toutes ses fonctions à l'intérieur de la variable globale table.La plupart des fonctions de la bibliothèque table assument que la table représente un tableau ou une liste.Pour ces fonctions, la "longueur" d'une table signifie le résultat de l'opérateur de longueur.

Résumé

Fonctions

  • clear(table : table):()

    Définit toutes les clés dans la table donnée à nil.

  • Renvoie une copie superficielle de la table fournie.

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

    Retourne la plage de tableaux éléments donnée en tant que chaîne où chaque élément est séparé par le séparateur donné.

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

    Renvoie une nouvelle table remplie de nombreuses instances de la valeur spécifiée.

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

    Retourne l'index de la première occurrence de needle dans haystack à partir de init .

  • Rend la table donnée inscriptible.

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

    Insère la valeur fournie à la position cible de l'matrice.

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

    Ajoute la valeur fournie à la fin de l'matrice.

  • Retourne true si la table donnée est gelée et false si elle n'est pas gelée.

  • Renvoie la clé numérique maximale de la table fournie, ou zéro si la table n'a pas de clés numériques.

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

    Copie la plage d'éléments spécifiée d'une table à l'autre.

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

    Renvoie une nouvelle table contenant les valeurs fournies.

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

    Supprime l'élément spécifié de l'matrice, déplaçant les éléments suivants vers le bas pour combler l'espace vide si possible.

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

    Trie les éléments de table en utilisant la fonction de comparaison fournie ou l'opérateur <.

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

    Renvoie tous les éléments de la liste donnée en tant que tuple.

Fonctions

clear

()

Définit la valeur de toutes les clés dans la table donnée à nil.Cela provoque le retour de l'opérateur # pour la table donnée par l'opérateur 0.La capacité attribuée de la partie de l'array de la table est maintenue, ce qui permet une réutilisation efficace de l'espace.


local grades = {95, 82, 71, 92, 100, 60}
print(grades[4], #grades) --> 92, 6
table.clear(grades)
print(grades[4], #grades) --> zéro, 0
-- Si les notes sont à nouveau remplies avec le même nombre d'entrées,
-- aucune redimensionnement d'arrêt potentiellement coûteux n'aura survernir
-- because the capacity was maintained by table.clear.

Cette fonction ne supprime pas/détruit pas la table fournie. Cette fonction est destinée à être utilisée spécifiquement pour les tables qui doivent être réutilisées.

Paramètres

table: table

La table dont les clés seront effacées.

Retours

()

clone

Renvoie une copie superficielle non gelée de la table fournie.

Paramètres

La table à cloner.

Retours

Le clone de la table fournie.

concat

Donné un tableau où tous les éléments sont des chaînes ou des nombres, renvoie la chaîne t[i] ... sep ... t[i+1] ... sep ... t[j] .La valeur par défaut pour sep est une chaîne vide, la valeur par défaut pour i est 1, et la valeur par défaut pour j est #t.Si i est supérieur à j, il renvoie la chaîne vide.

Paramètres

La table qui sera convertie en chaîne.

sep: string

La chaîne qui sera concaténée entre chaque entrée dans la table.

L'index de départ de la concaténation de la table.

Valeur par défaut : 1

L'index final de la concaténation de la table.

Retours

create

Crée une table avec la partie de l'array attribuée à la donnée number donnée, optionnellement remplie par la donnée value donnée.


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

Si vous insérez dans de grandes tables semblables à des tableaux et que vous êtes certain d'une limite supérieure raisonnable du nombre d'éléments, il est recommandé d'utiliser cette fonction pour initialiser la table.Cela garantit que la partie tableau de la mémoire de la table est suffisamment dimensionnée, car sa redimensionisation peut être coûteuse.Pour de petites quantités, cela n'est généralement pas remarquable.

Paramètres

count: number
value: Variant

Retours

find

Variant

Dans la table ressemblant à un tableau donnée haystack, trouvez la première occurrence de la valeur needle, à partir de l'index init ou du début s'il n'est pas fourni.Si la valeur n'est pas trouvée, nil est retournée.

Un algorithme de recherche linéaire est exécuté.


local t = {"a", "b", "c", "d", "e"}
print(table.find(t, "d")) --> 4
print(table.find(t, "z")) --> nil, parce que z n'est pas dans la table
print(table.find(t, "b", 3)) --> nil, because b appears before index 3

Paramètres

haystack: table
needle: Variant
init: number

Retours

Variant

freeze

Cette fonction rend la table donnée inscriptible en lecture seule, en la « gelant » efficacement dans son état actuel. Tenter de modifier une table gelée provoque une erreur.

Cet effet de gel est superficiel, ce qui signifie que vous pouvez écrire dans une table dans une table gelée.Pour geler profondément une table, appelez cette fonction de manière récursive sur toutes les tables descendantes.

Paramètres

La table à congeler.

Retours

La table gelée.

insert

()

Insère la valeur fournie à la position cible de l'matrice.

Paramètres

La table qui est jointe.

pos: number

La position où la valeur sera insérée.

value: Variant

La valeur qui sera ajoutée à la table.

Retours

()

insert

()

Ajoute la valeur fournie à la fin de l'matrice.

Paramètres

La table qui est jointe.

value: Variant

La valeur qui sera ajoutée à la table.

Retours

()

isfrozen

Cette fonction renvoie true si la table donnée est gelée et false si elle n'est pas gelée. Vous pouvez geler les tables en utilisant table.freeze() .

Paramètres

La table à vérifier.

Retours

Si la table est gelée à partir de table.freeze().

maxn

Renvoie la clé numérique maximale de la table fournie, ou zéro si la table n'a pas de clés numériques. Les lacunes dans la table sont ignorées.

Paramètres

Retours

move

Copie les éléments de la table src à partir de src[a] jusqu'à src[b] dans la table dst en commençant à l'index t .Équivalent à la déclaration d'attribution dst[t], ..., dst[t + (b - a)] = src[a], ..., src[b] .

La valeur par défaut pour dst est src . La portée de destination peut se chevaucher avec la portée de source.

Retourne dst pour la commodité.

Paramètres

src: table

Table de source.

Commencez à copier à src[a].

Copier jusqu'à et y compris src[b].

Copier dans dst[t], ....

dst: table

Table de destination.

Valeur par défaut : src

Retours

dst , pour plus de commodité.

pack

Variant

Retourne une nouvelle table avec tous les arguments stockés dans les clés 1, 2, etc.et avec un champ "n" avec le nombre total d'arguments.Notez que la table résultante peut ne pas être une séquence.


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

Paramètres

values...: Variant

Retours

Variant

remove

Variant

Supprime de l'array l'élément à la position pos, en retournant la valeur de l'élément supprimé.Lorsque pos est un entier entre 1 et #t, il déplace les éléments t[pos+1], t[pos+2], ..., t[#t] et efface l'élément t[#t] .Si le paramètre pos n'est pas fourni, pos se réfère à la longueur de la table en supprimant le dernier élément.

Paramètres

La table qui a un élément supprimé.

pos: number

L'index de l'élément qui est supprimé.

Retours

Variant

sort

()

Trie les éléments de l'array t dans un ordre donné, de t[1] à t[#t] .Si comp est donné, alors cela doit être une fonction qui reçoit deux éléments et renvoie vrai lorsque le premier élément doit venir avant le deuxième dans l'ordre final.

L'erreur invalid order function for sorting est lancée si les deux comp(a, b) et comp(b, a) retournent true .

Si comp n'est pas donné, l'opérateur standard Luau < est utilisé à la place.

Paramètres

comp: function

Une fonction de comparaison facultative à utiliser lors de la comparaison des éléments de la table.Cette fonction reçoit deux éléments et doit retourner vrai si le premier élément doit être trié avant le deuxième dans l'ordre final.

Valeur par défaut : nil

Retours

()

unpack

Retourne les éléments de la liste donnée. Par défaut, i est 1 et j est la longueur de list .

Notez que cette même fonctionnalité est également fournie par la fonction globale unpack() .

Paramètres

list: table

La liste des éléments à déballer.

L'index du premier élément à déplier.

Valeur par défaut : 1

L'index de l'élément dernier à déplier.

Valeur par défaut : #list

Retours