11得票3回答
Lua - table.insert不起作用

为什么在Lua中,t:insert(9)不能正常工作? (我想将值为9的元素添加到表的末尾) t = {1,2,3} table.insert(t, 9) -- works (appends 9 to end of table t) t:insert(9) -- does ...

11得票2回答
Lua弱引用

我知道Lua中弱表的功能,但我希望有一个只包含单个变量的弱引用。我看过这个提案,其中建议的API如下:-- creation ref = weakref(obj) -- dereference obj = ref() 看起来这很理想。但是在其他文档中似乎找不到这个信息,只有弱引用表。 是否有...

11得票3回答
推送Lua表格

我在C中创建了一个Lua表,但我不确定如何将该表推送到堆栈顶部,以便我可以将其传递给Lua函数。 有人知道如何做吗? 这是我的当前代码:lua_createtable(state, libraries.size(), 0); int table_index = lua_gettop(sta...

11得票3回答
你可以在Lua表中使用数字键吗?

以下示例旨在创建一个表格,可以在数字和字符串之间进行转换,但无法运行。 是因为我使用了数字键以字典类型的方式吗? 还是因为lua从1开始对表格索引? 有更好的方法来实现这个吗? dyeColor = { 0="black" , black = 0, 1="...

11得票4回答
Lua的混合数组和哈希表,是否在其他地方存在?

Lua的表实现将其元素分为两部分:数组部分和哈希部分。 其他编程语言中是否存在类似的实现? 请查看Lua 5.0的实现中的第4节“表”。 Lua 5.1源代码 - table.c

10得票3回答
如何在Lua表中安全地迭代,同时删除键?

在我的主协程中,我根据用户操作从表中删除或添加条目。在后台,我希望迭代表中的条目。如果我在一次迭代中错过了插入,但能在下一次迭代之前捕获它,那对我来说没什么关系。 使用pairs函数迭代表是否安全?还是应该使用next函数?

10得票7回答
如何在Lua中获取表格中最大的整数?

如何在Lua中获取表中的最高整数?

9得票7回答
如何检查 Lua 表是否仅包含连续的数字索引?

我该如何编写一个函数来确定它的表参数是否是真正的数组? isArray({1, 2, 4, 8, 16}) -> true isArray({1, "two", 3, 4, 5}) -> true isArray({1, [3]="two", [2]=3, 4, 5}) -&gt...

9得票5回答
如何在Lua中获取第一个表格值

有更简单的方法吗?我需要获取表格中的第一个值,其索引是整数但可能不从 [1] 开始。谢谢! local tbl = {[0]='a',[1]='b',[2]='c'} -- arbitrary keys local result = nil for k,v in pairs(tbl) do...

9得票5回答
Lua表序列化的方法

我可能疏忽了,但是是否有一种内置的方法可以将lua表序列化/反序列化为文本文件,反之亦然? 我已经准备好了一对方法,用于处理具有固定格式的lua表(例如,具有5行3列数据)。 是否有一种方法可以处理任何任意格式的lua表? 例如,给定以下lua表: local scenes={ ...