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