表构造器

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

  1. {"key1": "value1", "key2", "key3": "value2"}
  2. # 等同于:
  3. [("key1", "value1"), ("key2", "value2"), ("key3", "value2")]

空表可以写成 {:} (对比 {} 空集合),这是另一种写为空数组构造器 [] 的方法。这种略微不同寻常的书写表的方式有很多优点:

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