构造式是用于创建和初始化table的表达式。这是lua特有的一种表达式,并且也是Lua中最有用、最通用的机制之一。
最简单的构造式就是一个空构造式{},用于创建一个空table。构造式还可以用于初始化数组。
days = {"Sunday", "Monday", "Tuesday", "Wednesday"}。
Lua还提供了一种特殊的语法用于初始化记录风格的table:a = {x = 10, y = 20}。
无论使用哪种方式来创建table,都可以在table创建之后添加或删除其中的某些字段。
table的构造式可以以记录风格或者列表风格或者二者混合的方式进行初始化。
记录风格:tbl1 = {a = 1, b = 2}.
列表风格:tbl2 = {{x=0, y=0}, {x=1, y=1}}
混合风格:tbl3 = {a = 1, b = 2,{x=0, y=0}, {x=1, y=1}}
细节:a = {x=0,y=0} <=> {['x']=0,['y']=0};
b = {"r","g"} <=>{[1] = "r", [2] = "g"}
一个构造式中,还可以用分号代替逗号。通常会将分号用于分隔构造式中不同的成分,例如将列表部分与记录部分明显地区分开:
{x=10, y=45; "one", "two", "three"}