Lua 程序设计 table构造式

      构造式是用于创建和初始化table的表达式。是Lua中最通用、最有用的机制之一。

      最简单的构造式就是一个空构造式{},用于创建一个空table。构造式还可以用于初始化数组。

days = {"Sunday","Monday","Thuesday","Wednesday"}

       这里将days[1]初始化为字符串“Sunday”、days[2]初始化为“Monday”

        Lua还提供了一种特殊的语法初始化table记录:

a = {x = 10 ,y = 20}  等价于  a = {}  a.x = 10  a.y = 20

       创建table之后都可以再添加或删除其中的某些字段。构造式只是在table初始化时刻发挥作用。

       table创建链表代码:

list = nil
for line in io.lines () do
list = {next = list, value = line}
end

     也可以通过嵌套的构造式来表示复制的数据结构。Lua中的默认索引是从1开始的,若是真的需要以0开始可以通过这种方法:

days = {[0] = "Sunday","Monday","Thuesday","Wednesday"}

     现在第一个值“sunday”的索引就是0了。这个索引0不影响其他元素。“Monday”照常索引为1,后续其他值的索引依次递增。你也可以在最后一个元素后面写一个逗号,这个特性是可选的,也是合法。

     在Lua的构造式中还可以用分号代替逗号。通常会将分号用于分隔构造式中不同的成分。

{x = 10 ,y = 15; "one" , "two" , "three"}

 

你可能感兴趣的:(lua,程序设计,表达式,构造式)