lua本身很宽松,很少报错。经常出错的也就是那个表了,把自己遇到的常见的错误记下来。
local a = {b=1,c=2}
local a.d = 3
for k,v in pairs(a) do
print(k,v)
end
unexpected symbol near '.'
- 已经定义的table赋予新的,不能重复家
local
了。
local a = {b=1,c=2,{e=4}}
print(a[1].e)
a[2].f = 5
attempt to index field '?' (a nil value)
stack traceback:
in main chunk
[C]: ?
4
- 1.当索引一个table的key不存在时,返回
nil
,但是不能索引一个nil
的值。 - 2.table里面的值分为哈希和数组,当添加一个新的table作为原有table的一个值是,使用
table.insert()
,直接复制会报错。如果是一个字符串,可以直接赋值。