问题标签 [lua-table]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
514 浏览

sorting - 根据内部表值对 lua 中的表进行排序

所以目前我在 Lua 中有一个表,其中包含另一个表(很像哈希表)。它叫做 email_table,里面有我的 person_table。email_table 的键是 email_addresses,而 person_table 包含有关人员的所有信息。

目前我正在尝试做的是根据 person_table 内部的值对我的 email_table 进行排序。不幸的是,Lua 的内置排序功能不适用于此类值。我将如何开始?

0 投票
1 回答
550 浏览

c++ - 从lua返回一个没有全局的表到C

我在 C 中有一个名为 GetParameter 的方法。我想从 Lua 中使用它。这个方法将再次向 Lua 返回一些值。

我在 C 中构建表格的方式是最常见的方式:

在我见过的所有示例中,在此之后,您必须使用 lua setGlobal 设置结果表:

使用这种方法,我可以访问 lua 中的结果表,如下所示:

这样做一切都很顺利,但是,还有另一种方法可以在不使用 setglobal 的情况下做到这一点?我试图做类似的事情:

但不起作用。使用全局变量更好?如何在不设置 setglobal 的情况下获取结果表?

提前致谢!

0 投票
2 回答
403 浏览

arrays - Lua 中的函数、表格和 for

现在我正在做一些测试,但我似乎找不到这段代码有什么问题——知道吗?

我正在做的是获得 2 个整数和 1 个数组。我不得不在控制台中写代码来检查程序的实际运行位置,而我得到的是......

第一条日志消息:"The table the script received has: "

和第二条日志消息:" First for y "

但是我没有比那些更进一步,所以程序可能在那里崩溃了?这个函数每隔 20 秒左右就会被调用一次。我真的不知道为什么会这样。任何帮助将不胜感激,谢谢。

0 投票
2 回答
159 浏览

string - 将随机生成的字符串插入为嵌套表

这些天,我正在研究自己的一个小例子/项目。我正在做的是创建n一组可变长度的随机字符串。这是我想要获得的:

  • 长度为 3 到 25 个字符的两个名称。
  • 一条 40 到 300 个字符的消息。

在我的 C 示例中,我创建了一个struct并一直作为列表插入到该表中。在我的 LUA 示例中,我想要一个像这样的嵌套表:

所以,基本上我的结构是这样的:

我想在 LUA 中有一个类似的结构/表,以便我可以使用一种table.insert方法。我目前正在这样做:

但我认为这是浪费大量处理时间。目前我只生成30 个这样的 PM 的样本;但稍后我将生成 * 1000 * 个它们。请指教。

0 投票
1 回答
347 浏览

lua - Lua:自动创建表的方法?

我正在尝试将数据库数据类别的数据值加载到表中以进行进一步处理。每个数据类别都应该有自己的表。不幸的是,数据类别的数量并不一致,并且因数据库而异,因此我考虑根据当前数据类别的数量自动创建表:

这当然是行不通的,因为 Lua 试图将表分配给变量而不是它的值。以这种方式也无法进行变量连接。有没有办法让 Lua 自动创建表?

0 投票
1 回答
2876 浏览

c++ - C++ & Lua,推送 Lua 表作为参数

我正在将 Lua 集成到 C++ 中,现在我有了这个充当“类”的表,对于某些函数,它需要一个“自我”参数,实际上就是表。Lua代码:

以及调用函数的 C++ 位(我让 Lua 在 C++ 中运行)

那么,如何将 self 参数作为表格传递给函数增量?

任何帮助表示赞赏

0 投票
2 回答
1874 浏览

c++ - 从 C++ 中的 table.subtable 调用 lua 函数

我试图从 C++ 调用一个 lua 函数,其中函数位于全局表的子表中。我使用从源代码编译的 lua 版本 5.2.*。

Lua 函数

C++ 代码

但是我无法调用它,我总是得到一个错误

PANIC:调用 Lua API 时出现不受保护的错误(尝试索引 nil 值)

第 3 行:lua_getfield(L, -1, "hello");

我错过了什么?

附带问题:我也很想知道如何调用比这更深的函数 - 比如globaltable.subtable.subsubtable.hello()等。

谢谢!


这就是我用来创建全局表的方法:

我如何创建 globaltable.subtable?

0 投票
4 回答
39981 浏览

lua - Lua:如何找出一个元素是否是一个表格而不是一个字符串/数字?

正如标题所说,我可以做哪些功能或检查来确定一个 lua 元素是否是一个表?

0 投票
1 回答
258 浏览

indexing - Lua 最大编号程序

这是一个简短的程序,它接收一个表格,并返回表格中最大数值的索引。

我的问题是 - 有人可以向我解释第 5 行 for 循环中的“单词,计数”吗?该程序有效,但我不明白 for 循环中的 count 这个词如何做任何事情。

0 投票
1 回答
7256 浏览

c - 在 lua 和 C 之间共享数组

我真的用谷歌搜索过这个问题,但我从来没有真正得到解决方案。

我想在 C 和 Lua 之间共享一个数组,为了性能,我将避免在 Lua 之间复制数组。

所以我想将指向数组的指针从 C 传递给 Lua。然后从 Lua 我想直接设置/修改这个数组中的值。


C 代码中的示例

我想定义我的数组

将其设置为全局以从 Lua 访问它,名称为mydata


在 Lua 中

我想改变这样的值

当我返回 C 时,mydata[3]是 9,因为它是指向数组的指针。

这怎么可能?