Table构造函数

表构造函数是数组构造函数的语法糖:

  1. {"key1": "value1", "key2", "key3": "value2"}
  2.  
  3. # is the same as:
  4. [("key1", "value1"), ("key2", "value2"), ("key3", "value2")]

空表可以写成 {:} (与 {} 的空集相反,这是另一种写为空数组构造函数 [] 的方法。 这种略微不同寻常的支持表的方式有很多优点:

  • 保留了(键,值)对的顺序,因此很容易支持有序的字典,例如 {key:val}.newOrderedTable 。
  • 表字面值可以放入 const 部分,编译器可以很容易地将它放入可执行文件的数据部分,就像数组一样,生成的数据部分需要最少的内存。
  • 每个表实现在语法上都是一样的。
  • 除了最小的语法糖之外,语言核心不需要了解表。