问题标签 [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.
c# - 轻松将 Lua 代码移植到 C#
有什么简单的方法可以将 Lua 代码移植到 C#?
最大的问题可能是在某些字典中整齐地移植表。
并且为了防止任何误解:不,我不能在我的程序中使用嵌入式 Lua。
c++ - 如何将表从 Lua 传递到 C++?
如何将未知长度的表从 Lua 传递到绑定的 C++ 函数?
我希望能够像这样调用 Lua 函数:
并将表格内容复制到一个数组中(最好是 STL 向量)?
lua - 如何检查表是否包含Lua中的元素?
有没有一种方法可以检查表是否包含值?我有自己的(天真的)功能,但我想知道是否存在“官方”的东西?或者更高效的...
顺便说一句,我使用这个函数的主要原因是使用表格作为集合,即没有重复的元素。还有什么我可以使用的吗?
java - 我需要一个工具来解析 Lua 表,最好是用 Ruby 或 Java
我需要一个工具来解析 Lua 表表达式。如果一切都失败了,我最终只会编写一个小的 Lua 模块来将表转换为 XML,但目前,我对 Ruby 库感兴趣,但如果失败了,我会接受任何语言的工具,只要我可以看看它的来源。
这是一个示例片段(它是一个 WoW 插件输出):
基本思想是嵌套关联数组。将检查任何帮助或指针,感谢任何想法。
EDIT #1
由于存在争议,让我澄清一下我尝试了什么。我补充了其中一位参与者提供的字符串/正则表达式替换链,如下所示:
我 (1) 添加了 Lua 注释的删除,(2) 替换了其中一个正则表达式替换器:当您在对象/数组中有最后一个元素时,它后面仍然有一个逗号,因此必须将其覆盖并正确删除逗号.
你注意到双开口花括号了吗?JSON 不喜欢匿名对象。它看起来像这样:
基本上在根级别,我们实际上有一个类似对象的列表/数组,都有“aaa”和“qqq”部分,以遵循示例。但是,在 Lua 中显然是允许的,而在 JSON 中则不允许。因为打开的花括号被视为“开始一个对象”,但该对象没有名称。
我试图用正则表达式检测这种情况,并用“[]”对替换花括号。虽然生成的正则表达式有效,但问题是一样的:好的,我们定义了一个相似对象的数组,但数组的声明仍然是无名的。
一个可能的解决方案不是用 [] 检测和替换这些大括号,而是用索引命名对象,例如:"0" = { "aaa" = {...} }, "1" = { "aaa" = {... } }
等。(希望是最终的)解决方法可能会使其工作......将再次报告。;)
memory-management - 有没有一种(简单的)方法来获取 Lua 表的内存使用情况?
我想知道 Lua 表正在使用多少内存——无需遍历表内容并计算使用情况。是否有 Lua 5.1 函数或 3rd 方库可以帮助解决这个问题。
string - In Lua, can I easily select the Nth result without custom functions?
Suppose I am inserting a string into a table as follows:
and that mystring
is generated by replacing all occurrences of "a" with "b" in input
:
The obvious way to combine the two into one statement doesn't work, because gsub
returns two results:
which, I suppose, is the price paid for supporting multiple return values. The question is, is there a standard, built-in way to select just the first return value? When I found select
I thought that was exactly what it did, but alas, it actually selects all results from N onwards, and so doesn't help in this scenario.
Now I know I can define my own select
as follows:
but this doesn't look right, since I'd expect a built-in way of doing this.
So, am I missing some built-in construct? If not, do Lua developers tend to use a separate variable to extract the correct argument or write their own select1
functions?
arrays - 为什么 Lua 数组(表)从 1 而不是 0 开始?
我不明白Lua这部分决定背后的理由。为什么索引从 1 开始?我已经读过(和其他许多人一样)这篇很棒的论文。在我看来,这是一种学习和编程非常愉快的语言的一个奇怪角落。不要误会我的意思,Lua 很棒,但必须在某个地方做出解释。我发现的大部分内容(在网上)只是说索引从 1 开始。句号。
阅读它的设计师对这个主题的看法会很有趣。
请注意,我是 Lua 的“非常”初学者,我希望我不会遗漏一些关于表格的明显内容。
lua - Lua表C api
我知道: http: //lua-users.org/wiki/SimpleLuaApiExample
它向我展示了如何逐项构建表(键,值)对。
假设相反,我想构建一个巨大的表(比如说一个 1000 个条目的表,其中键和值都是字符串),在 lua 中是否有一种快速的方法(而不是每个条目 4 个 func 调用:
class - 带有嵌套表的 Lua 类实例
具有简单类的简单 Lua 游戏,如下所示:
- 等等等等等等
非表值对每个实例都是单独的,但表值在所有实例之间共享,如果我在一个实例中修改 stats.X 值,所有其他实例都会看到相同的统计表。
Q1:我的 OO 实现有缺陷吗?我尝试了 LOOP 并出现了相同的结果,我的逻辑是否存在根本缺陷?
Q2:你如何让每个生物实例都有自己的统计表(和子表)?
PS。我无法展平我的类表,因为它比示例复杂一些,并且代码的其他部分通过这个嵌套表实现进行了简化。
lua - Why are there only 4 fields in this Lua table? Shouldn't there be 7?
Why are there only 4 fields in this Lua table? Shouldn't there be 7?
I thought polyline[2]
would index to "thickness", which is the 2nd field in this table.