问题标签 [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 投票
2 回答
61 浏览

string - 如何打印表格元素的第一个字符?

假设您有下表:

我如何让它只打印“firstelement”中的“f”?

0 投票
1 回答
374 浏览

lua - Lua:'pairs' 不会迭代 [1]

我很快不得不调试一些东西,并编写了以下函数:

现在,出于某种原因

输出

注意第一个字符串是如何丢失的?但是如果我改变它的关键..

它输出

这太不直观了,我几乎觉得自己是个白痴,没有看到错误..

(顺便说一句。我知道如果表包含递归引用,我的函数会溢出堆栈,稍后会修复它)

0 投票
3 回答
414 浏览

loops - 如何在lua中迭代表中的元素对

如何迭代lua中的表元素对?我想实现循环和非循环迭代版本对的无副作用方式。

0 投票
2 回答
699 浏览

string - 如何将字符串转换为表格

例如我加载了一个模块,这个模块中有一个名为“Table1”的表。在主文件中,我有一个表,我想成为“Table1”的完全相同的副本。那么,如果我只有该表的名称,我该怎么做。当我试图这样做时

我显然得到了一个字符串而不是表格,那么我怎样才能得到一个表格内容呢?我想要的是能够以某种方式制作这行代码

相当于这个

0 投票
1 回答
975 浏览

c++ - 在 C++ 函数中创建一个 lua 表

我用 C++ 编写了一个函数,它在容器中获取“项目”。我需要将这些变量放在表格中,但是无论我做什么,脚本总是会覆盖表格的第一个单元格。我正在使用 Lua 5.0

0 投票
1 回答
1695 浏览

math - Lua:在成对(tbl)循环中为k,v做算术

我有一个如下表:

还有更多的嵌套表,但我现在只是想保持简单。

我运行以下代码来提取某些值(我正在根据这些值制作一个有序列表):

这是我运行的代码之一。我遇到的问题是您似乎无法在表格循环中进行算术运算。我试过:

它返回我正在尝试对“活着”字段进行算术运算。我在这里想念什么?像往常一样,我很感激回答这个问题时的任何考虑!

编辑:我将在此处添加其他信息,而不是评论评论。

我发布的 mafiadb 数据库是真正的数据库。它只是精简为两名球员,而不是我在其中列出的当前 150 多名球员。它的结构很简单:

再添加几百个玩家名字,就可以了。

至于错误消息,确切的消息是:

尝试对字段“alive”(nil 值)执行算术运算

所以......我不确定问题是什么。在我的第一个代码中,带有 sortmaf 的代码,它工作得很好,但是突然间,当我尝试做算术时,它找不到 v["alive"] 作为值?如果我只是将 v["alive"] 单独放入,它会突然被发现并且不再为零。我希望这能澄清一点。

0 投票
1 回答
560 浏览

indexing - 在 lua 表(数组或字典表?)中保存字符串的索引

所以我很进退两难。我有一个读取某个味精的代码,例如:

阅读:

现在我试图让它插入到一个表中。到目前为止我遇到的问题是我不能让它计算字符串的类型并在表中比较它以添加它的索引。

例如:

到目前为止我的工作是:

然后我就迷路了。我不知道如何创建这个表;我相信它应该是本地的,但我遇到的主要问题是我不想成对打印它,我想按照插入的顺序调用从 1 到 #table 的值。这就是我的痛苦开始的地方。

我想要类似的东西:

所以当我得到这个表(我仍然无法制作)时,我可以为另一个函数调用同一个表,我想调用 table."xmsg" = 数量。我希望有人明白我在问什么。

返回此函数的消息:

0 投票
4 回答
1113 浏览

lua - 如何为表中的函数设置名称

例如,我有一张桌子

有没有办法从这个表中获取函数名。我知道我可以像键一样存储名称,但是如果我想保留数字索引并且还想知道函数名称怎么办?有什么办法吗?谢谢,提前。

0 投票
2 回答
7946 浏览

lua - 在lua中通过索引值比较两个索引表

我正在尝试将两个长度相等的表与一个函数进行比较,因为我不知道有任何其他方法可以做到这一点。但是,使用以下功能,它无法注册,我不知道为什么。我希望有人可以提供对此问题的见解,或者有更好的方法来比较这两个表。

这些表正在填充以下代码:

这两个表是相同的,当然,除了各个表的名称。表格已正确填充,并在我打印时正确显示。为了这个问题,这里有两张表:

显然,这两个表将彼此相等。我写的比较索引表的函数如下:

我试着做

看看它是否会打印“true”但没有运气。对我来说,它似乎应该没有问题。然而事实并非如此。我错过了什么?我已经尝试过搜索类似 table.compare 函数的东西,有人可能已经写过,但找不到这样的运气。感谢您的任何建议!

附加信息:

我比较表格的原因是主控类型的游戏。这意味着在比较表格时必须适用以下三个规则。我创建的功能只是让我开始,以为我可以从那里开始工作。

  1. 比较表格时,如果数字匹配,则 Ccount 增加 1。
  2. 比较表时,如果值存在于不同的索引位置,则将 Pcount 加 1

例如,对于值 {1, 3, 3, 4} 和猜测值 {4, 4, 3, 1} 的表,它将返回 Pcount 2(一个 4 和 1)和一个 Ccount 1 (第三位的三个)。我认为最难的部分之一是通过比较来识别猜测中的第二个 4 根本不应该增加 Pcount。

0 投票
1 回答
702 浏览

lua - Lua:如果没有价值,那么在表中创造价值——我错过了什么?

我有一个问题,我花了几个小时试图弄清楚,但由于 Lua 对我来说还是比较新的,我不知道为什么它不起作用。

这就是我想要做的。如果我是第一次添加一个项目,它不会出现在spikeRates 表中,所以我需要添加它。如果我之前已经对项目进行了加标,但从来没有使用我要加标的项目,那么我需要在spikeRates[itemSpiked] 表中反映这一点。我编写的代码如下,但无法填充表格。

当它运行时,我得到一个错误,试图连接一个 nil 值 (v) 以打印数据库。一切看起来都是正确的,或者我是这么认为的。我错过了一些完全明显的东西吗?谢谢!