Questions tagged «lua-table»

8
为什么Lua数组(表)从1开始而不是0?
我不了解Lua这部分决定背后的理由。为什么索引从1开始?我读过(和其他很多人一样)这篇伟大的论文。在我看来,这门语言很奇怪,学习和编程都很愉快。不要误会我的意思,Lua很棒,但是在某处必须有一个解释。我在网上发现的大多数内容只是说索引从1开始。 阅读其设计师对这一主题的看法将非常有趣。 请注意,我是Lua的“非常”初学者,希望我不要对表失去任何明显的东西。
125 arrays  lua  lua-table 

8
确定Lua表是否为空(不包含任何条目)的最有效方法?
确定表是否为空(即,当前既不包含数组样式值也不包含dict样式值)的最有效方法是什么? 目前,我正在使用next(): if not next(myTable) then -- Table is empty end 有没有更有效的方法? 注意:#此处的运算符不足,因为它仅对表中的数组样式值进行运算-因此与之没有#{test=2}区别,#{}因为两者都返回0。另外请注意,检查表变量是否nil不足,因为我不是在寻找nil个值,而是具有0个条目的表(即{})。
120 lua  lua-table 

4
如何检查表是否包含Lua中的元素?
有没有检查表是否包含值的方法?我有自己的(幼稚)功能,但是我想知道是否为此存在“官方”功能?还是更有效率的... function table.contains(table, element) for _, value in pairs(table) do if value == element then return true end end return false end 顺便说一句,我使用此函数的主要原因是将表用作集合,即没有重复的元素。还有其他我可以使用的东西吗?

1
如何通过其键删除lua表条目?
我有一个lua表,用作哈希图,即带有字符串键: local map = { foo = 1, bar = 2 } 我想“弹出”该表的键所标识的元素。有一种table.remove()方法,但是只需要删除元素的索引(即数字),而不需要通用键。我希望能够做到table.remove(map, 'foo'),这就是我的实现方式: function table.removekey(table, key) local element = table[key] table[key] = nil return element end 有更好的方法吗?
94 lua  key  lua-table 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.