Lua报错:invalid key to 'next'


1.问题产生的原因是,在一个循环里对table中的元素先进行置空操作,再进行增加新元素的操作,就会报这个错误。

2.比如下面的例子:(当中间的函数足够复杂并进行封装了的情况下,不会留意到存在这个问题)

t = {1,2} function remove_ele() t[1] = nil
end

function add_ele() t[3] = 3 --err:增加原来没有的元素
  --t[1] = 1 --correct:修改原有的元素
end


for k,v in pairs(t) do remove_ele() add_ele() end

以上,完。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM