lua – `table.insert(t,i)`和`t [#t 1] = i`有什么区别?
在lua中,似乎有两种方法将元素附加到数组中:
table.insert(t,i) 和 t[#t+1] = i 我应该用什么,为什么? 解决方法
哪个使用是一个偏好和情况的问题:由于#版本的操作符在版本5.1中被引入,所以t [#t 1] =我将不会在Lua 5.0中工作,而table.insert从5.0开始就可以使用,都。另一方面,t [#t 1] = i仅使用语言级别的运算符,wheras table.insert涉及到一个函数(它具有少量的开销来查找和调用,并且取决于环境中的表模块) 。
在第二版Programming in Lua(Lua 5.0版第一版的更新)中,Roberto Ierusalimschy(Lua的设计师)说,他更喜欢t [#t 1] = i,因为它更明显。 另外,根据你的用例,答案可能是“不”。见the manual entry on the behavior of the length operator:
因此,如果您正在处理具有漏洞的数组,则使用( (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |