一、table的声明及赋值
table是Lua中的hashmap(包括其实现方式也是). 由于其包含所有数组的功能, 所以可以认为table是扩展了的数组. Lua没有再额外提供单独的数组类型.
用以下的语句声明一个空的table:
newTable = {}
可以用以下的方式向table中添加值:
newTable[2] = "14"
可以使用字符串形式的key值, 但必须在字符串前后添加双引号("").
newTable["time"] = "April 14"
也可以在首次声明table的同时进行赋值, 参考下面的语句:
newTable = {
[key1] = value1,
[key2] = value2,
...
}
数组(array)在Lua中被当作table的一个特例, 即: 以1开始的连续整数作为key的table.
所以在声明时不需再指定key.
newArray = {
value1,
value2,
...
}
一个table如果包含key值为1的元素, 则该元素, 以及其后以2开始的连续的整数为key值的所有元素构成的table, 称作该table的数组部分. 一部分table的函数只会对table的数组部分产生作用.
和其他语言的