集合的表'entrées avec des clés et des valeurs。Il s 'agit de la seule结构de données agrégées fournie。Toutes les autres structures de données (tableaux, listes, ensemble,等等)sont constrites à partir de tables。Les clés et Les valeurs de table peuvent être n ' import quel type, y comppris d ' aures tables。Les clés et Les valeurs d 'une même table peuvent mélanger Les类型。

  • Constructeurs德表
  • 利用率表
  • 桌子en tant que tableaux
  • 登记表

Constructeurs德表

我们的建筑者,de table vous渗透性,de spécifier une table avec des clés et des valeurs associées。La syntax est:

{[key1] = value1, [key2] = value2,…}

Où les clés et les valeurs sont des expressions。是我们的国家clés我们的国家chaînes我们的国家的国家réservés,我们的钩针和guillemet的国家clés peuvent être omis。为例:

{key1 = " value1 ", key2 = " value2 ", key3 = " value3 "}

Une table vide est spécifiée simplement par{}。

Un constructeur de table peut être utilisé dans une afftation pour définir une variable pour faire référence à une table。例子:

Local t1 ={} -设置t1为空表Local t2 = {key1 = " value1 ", key2 = " value2 ", key3 = " value3 "}

noz que les tables elles-mêmes sont匿名。Plusieurs变量peuvent faire référence à la même表。Poursuivant l ' example ci-dessus:

T3 local = t2 - t2 et T3 se réfèrent à la même表

利用率表

来吧,来吧,来吧,来吧,来吧clés,来吧,来吧,来吧。La syntax est La [clé]de table, où table est une référence de table (généralement une变量assignée à une table), et key est une表达式fournissant La clé。Si cela est utilisé dans une expression et que la clé exists dans la table, cela renvoie la valeur associée à la clé。Si la clé n 'est pas dans la table, cela renvoie nil。Si elle est utilisée comme variable danans une做作和que la clé n ' exists pas danans la table, elle crée une nouvelle entrée pour la clé et la valeur。Si la clé存在déjà dans la table, elle remplace la valeur de la clé par la nouvelle valeur。例子:

Local t = {} - définit t sur une table vide t[«k1 "] =«v1 " - crée une entrée pour la clé«k1 " et la valeur«v1 " v1 = t[«k1 "] - définit v1 à la valeur de la clé«k1 " =«v1 " t[«k1 "] =«nouveau_v1 " - définit la valeur de la clé«k1»sur«new_v1 "

Tableau en tant que tableaux

Le tableau traditionnel peut être implémenté en utilisant une table avec des clés entières comme indexes。Un tableau peut avoir des indexes, y compris négatifs, mais la convention est de démarrer des tableaux à l 'index 1 (pas 0 comme c 'est le cas avec des languages comme c et Java)。Il exist un constructeur de table à usage spécial pour de tels tableaux:

{value1, value2, value3,…}

Les références de tableaux sont alors des[index de]tableaux。

L 'opérateur de longueur # renvoie le nombre d ' éléments dans un tableau avec des indices consécutifs commençant à 1。为例:

Local a = {" value1 ", " value2 ", " value3 "} Local length = #a -设置数组a = 3的长度

巴黎的风景être clairsemés, où巴黎的风景éléments définis alloués。Mais # ne peut pas être utilisé sur un tableau clairsemé avec des indices non consécutifs。为例:

Local sparse_array = {} - configurer UN tableau vide sparse_array[1] =«value1 " - ajouter UN élément à l 'index 1 sparse_array[99] =«value99»- ajouter UN élément à l 'index 99

Les tableaux multidimensionnelpeuvent être configurés en tant que tables de tables。Par示例,une matrice 3x3 peut être configurée Par:

当地m ={1,2,3},{4、5、6},{7 8 9}}当地v22 = m[2][2]——definit v22 5

登记表

法国登记中心être implémentés法国登记中心clés法国登记中心。Le formulaire de référence表。Field peut être utilisé pour la table[«Field»]。例子:

本地姓名= {name = " John Smith ", phone = " 777-777-7777 "}本地姓名= person.name -设置姓名为" John Smith "

Un tableau de tables peut être utilisé pour une séquence d ' enregistrations。为例:

当地人= {{name = " John Smith ",电话= " 777-777-7777 "},{name = " Jane Doe ",电话= " 888-888-8888 "}…}

name = people[2].name - définit le nom sur«Jane Doe»