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 tableaux/matrice, fournissant toutes ses fonctions à l'intérieur de la variable globale table. La plupart des fonctions dans la bibliothèque table supposent 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):void

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

  • Renvoie une copie rapide de la table fournie.

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

    Renvoie la gamme donnée d'éléments de table 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 en commençant à partir de init.

  • Rend la table donnée en lecture seule.

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

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

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

    Rajoute 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 gamme spécifiée des éléments 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 ultérieurs vers l'espace vide si possible.

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

    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 comme un tuple.

Fonctions

clear

void

Définit la valeur de toutes les clés dans la table donnée sur zéro. Cela cause l'opérateur # à renvoyer 0 pour la table donnée. La capacité efficace 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 remplies à nouveau avec le même nombre d'entrées,
-- pas de redimensionnement d'arrêt potentiellement coûteux se 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

void

clone

Renvoie une copie rapide et dégelée de la table fournie.

Paramètres

La table à cloner.

Retours

La clonation 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 un vide chaîne, la valeur par défaut pour i est 1, et la valeur par défaut pour j est #t. Si i est

Paramètres

La table qui sera convertie en une chaîne.

sep: string

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

L'index de départ de la table de concatenation.

Valeur par défaut : 1

L'index de fin de la table de concatenation.

Retours

create

Crée une table avec la partie de l'arrêt attribuée au number d'éléments, optionnellement remplie avec la valeur donnée value.


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

Si vous insérez dans de grandes tables d'arrêt comme et êtes certain d'une limite raisonnable du nombre d'éléments, il est recommandé d'utiliser cette fonction pour initialiser la table. Cela garantit que la partie de l'arrêt de la table de sa mémoire est suffisamment grande, car le redimensionnement peut être coûteux. Pour de petites quantités, ceci est généralement non remarquable.

Paramètres

count: number
value: Variant

Retours

find

Variant

Dans la table donnée comme un tableau haystack, trouvez la première occurrence de valeur needle , à partir de l'index init ou du début si non fourni. Si la valeur n'est pas trouvée, 1> nil1> est renvoyé.

Un linéaire recherche de recherche алгоритм est exécuté.


local t = {"a", "b", "c", "d", "e"}
print(table.find(t, "d")) --> 4
print(table.find(t, "z")) --> nil, car z n'est pas dans le tableau
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 fait de la table donnée lue seulement, ce qui la gèle effectivement dans son état actuel. Tenter de modifier une table gelée donne une erreur.

Cet effet de congélation est léger, ce qui signifie que vous pouvez écrire dans une table dans une table gelée. Pour congeler profondément une table, appelez cette fonction à plusieurs reprises sur toutes les tables descendantes.

Paramètres

La table à congeler.

Retours

La table gelée.

insert

void

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

Paramètres

La table qui est appêchée.

pos: number

La position à laquelle la valeur sera insérée.

value: Variant

La valeur qui sera ajoutée à la table.

Retours

void

insert

void

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

Paramètres

La table qui est appêchée.

value: Variant

La valeur qui sera ajoutée à la table.

Retours

void

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 des tables en utilisant table.freeze().

Paramètres

La table à vérifier.

Retours

Whether the table is frozen from 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 espaces dans la table sont ignorés.

Paramètres

Retours

move

Copie les éléments dans la table src de src[a] jusqu'à src[b] dans la table 1> dst1> commençant à l'index 4> t4> . Équivalent à la déclaration d'attribution 7> dst[t], ..., ds

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

Retourne dst pour la commodité.

Paramètres

src: table

Table source.

Commencez à copier à src[a] .

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

Copie dans dst[t], ... .

dst: table

Table de destination.

Valeur par défaut : src

Retours

dst , pour la commodité.

pack

Variant

Renvoie 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. Remarquez 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'arrêt t l'élément à position pos, en retournant la valeur de l'élément supprimé. Lorsque pos est un nombre entre 1 et #t, il déplace les éléments t[pos+1], t[pos+2], ..., t[#t] et efface l'élément 1> t[

Paramètres

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

pos: number

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

Retours

Variant

sort

void

Trie les éléments de l' array t dans un ordre donné, à partir de t[1] à t[#t]. Si comp est donné, il doit être une fonction qui reçoit deux éléments et renvoie vrai lorsque le premier élément doit venir avant le second 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 1> true1>.

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

Paramètres

comp: function

Une fonction de comparaison facultative à utiliser lorsque vous comparez des éléments dans le tableau. 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

void

unpack

Renvoie 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éballer.

Valeur par défaut : 1

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

Valeur par défaut : #list

Retours