Lua中的Table其实就是一个Key Value的structure
haoel = {name="ChenHao", age=37, handsome=True}
-table的CRUD操作
haoel.website="https://coolshell.cn/" local age = haoel.age haoel.handsome = false haoel.name=nil
看上去像c++的struct,但是其实name, age, handsome, website都是key
还可以这样定义Table
t = {[20]=100, ['name']="ChenHao", [3.14]="PI"}
可以这样访问t[20],t[“name”], t[3.14]
再比如数组
arr = {10,20,30,40,50}
实际等价于
arr = {[1]=10, [2]=20, [3]=30, [4]=40, [5]=50}
也可以定义成不同类型的数组
arr = {"string", 100, "haoel", function() print("coolshell.cn") end}
其中的这个函数可以这么调用arr[4]()
*注意:Lua的下标不是从0开始的,而是从1开始的
for i=1, #arr do print(arr[i]) end
上面#arr的意思就是arr的长度
-Lua把所有的全局变量放到了一个叫做_G的table里
可以用如下的方法访问一个名为globalVar的全局变量
_G.globalVar _G["globalVar"]
-iterate一个table
for k, v in pairs(t) do print(k, v) end