问题标签 [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++ - 如何使用 C API 创建嵌套 Lua 表
我想创建一个像
使用 C API?
我目前的做法是
在循环中创建内部表。在这个循环之前,我使用
为 2 个数字槽创建外部表。
但是如何将内部表保存到外部表?
lua - 如何通过其键删除lua表条目?
我有一个用作哈希图的 lua 表,即带有字符串键:
我想“弹出”该表中由其键标识的元素。有一种table.remove()
方法,但它只需要删除元素的索引(即数字)而不是通用键。我希望能够做到table.remove(map, 'foo')
,这就是我的实现方式:
有更好的方法吗?
lua - 在 Lua 中,如何删除表中的表?
例如:
我想删除 789 和其中的所有数据。我都试过了: table.remove( items, 2 ); 和 table.remove(items, 789); (我不确定索引是如何工作的)没有运气。
file - 如何将文本文件加载到 Lua 中的类似表的变量中?
我需要将文件加载到 Lua 的变量中。
假设我得到了
每个之间都有空间。我需要将其中包含 x 多个此类行的文本文件加载到某种对象中 - 或者至少将一行剪切为字符串数组除以空格。
这种工作在 Lua 中可行吗?我应该怎么做?我对 Lua 很陌生,但我在 Internet 上找不到任何相关的东西。
sorting - 在 Lua 中按值关联排序表
我有一个键 => 值表,我想在 Lua 中排序。键都是整数,但不是连续的(并且有意义)。Lua 唯一的排序函数似乎是table.sort
,它将表视为简单数组,丢弃原始键及其与特定项目的关联。相反,我基本上希望能够使用PHP 的asort()
功能。
是)我有的:
排序操作后我想要的:
有任何想法吗?
编辑:根据答案,我将假设这只是我正在使用的特定嵌入式 Lua 解释器的一个奇怪的怪癖,但在我的所有测试中,pairs()
总是按照它们添加到的顺序返回表项桌子。(即上述两个声明会以不同的方式迭代)。
不幸的是,因为这不是正常行为,所以看起来我无法得到我需要的东西;Lua 没有内置(当然)必要的工具,而且嵌入式环境太有限,我无法解决它。
不过,谢谢大家的帮助!
lua - 获取表项索引
我无法获得表条目索引。我需要它从表中删除一个项目。
我用来table.insert
向表中添加条目。
另一个问题:为什么 Lua 没有“重载”到函数 table.remove 以便可以通过关联索引删除项目?
sorting - 无法使用关联索引对表进行排序
为什么我不能使用 table.sort 对具有关联索引的表进行排序?
sorting - 在排序函数中处理 nil
我不知道如何处理nils
我的排序功能。
当我检查它时,table.sort
在一些呼叫后崩溃。
出现此错误:排序功能无效。但是根据文档,如果 a 在 b 之后,排序函数应该返回 false。否则为真。
如果我删除删除该代码,它当然会崩溃索引 nil。
variables - 动态分配的表变量?
在 Lua 中编写一个函数,创建两个表。我希望将表分配给添加了 x 的值名称,并添加了一个 ay。例如,如果 name 是 line,它将创建两个表 linex 和 liney,但我不知道该怎么做。以下显然不起作用(并且仅用于显示目的)但我将如何去做呢?
稍后我希望在写入值后访问“linex”和“liney”。