俗话说得好,明bug好写,暗bug难防。在使用各语言的时候都免不了会踩坑,lua也是如此。
传址和传值
这里让我们先快速明确一件事情lua中除了table的名字是传址,其他都是传值
表(table)
灵活的表
lua中,table是非常重要的数据结构,它不固定大小,可以构建多种数据结构非常灵活
这里据一个小例子:list = {}
就创建了一个新的table
list[1] = "hello"
list[2] = "world"
这个table里就有了两个字符串,这时如果print(list)
会得到什么呢?没错,记住本文开头讲的,你会得到list的地址。
正确的索引姿势
lua中的key-value是怎么一会事呢?
说到key-value,大家马上会想到字典(dictionary)。Lua中,table当然也能作为dictionary使用,比较的是,key可以为除了nil的各种类型(如下):
t={}
t[{}] = "table" -- key 可以是 table
t[1] = "int" -- key 可以是整数
t[1.1] = "double" -- key 可以是小数
t