12得票1回答
全局变量_G有多特殊?

来自Lua 5.3手册摘录: _G 一个全局变量(非函数),保存着全局环境(参见§2.2)。Lua本身不使用此变量;更改其值不会影响任何环境,反之亦然。 §2.2相关部分: [...] 每个代码块在一个名为_ENV的外部局部变量的范围内编译,所以_ENV本身从不是代码块中的自由名称。 [...

8得票5回答
如何在表中表示 nil

假设我想存储一个元素列表,其中包括一些空值。值的位置很重要,并且我需要表示在给定位置上列表中没有值的情况。 这里有一个问题: a = {1,2,3,nil,4} for k,v in ipairs(a) do print(k,v) end print(a[4]) print(a[...

146得票8回答
确定Lua表是否为空(不包含任何条目)的最有效方法是什么?

最有效的方法是确定一个表格是否为空(即,当前既不包含数组样式值,也不包含字典样式值)? 目前,我正在使用 next():if not next(myTable) then -- Table is empty end 有没有更有效的方法? 注意:在此处,# 运算符不足以满足要求,因为...

13得票3回答
弹出Lua数组中的第一个元素

我有一个Lua中的数组x。我想将head = x [1]设置为rest =数组的其余部分,以便rest [1] = x [2] , rest [2] = x [3],等等。 我该如何做到这一点? (注意:我不在乎原始数组是否被改变。在JavaScript中,我会执行head = x.shi...

19得票2回答
Lua表格库被移除了吗?

我正在学习Lua,正在查阅在线教程。其中一个问题是如何检查表local foo = {}中有多少元素。教程建议使用local length = table.getn(foo)。但是,我在Lua5.2上尝试时出现了错误,提示attempt to call field 'getn' (a nil ...

8得票2回答
将CSV文件转化为具有定义键的Lua表

我正在学习Lua编写航空模拟器的脚本。 我有一个CSV文件,它看起来像这样: Poti city, Poti,red,-295731.42857144,617222.85714285 Lanchhuti city, Poti,red,-299217.14285715,647851.42...

9得票2回答
为什么Lua中的表字面量和表引用被区别对待?

以下是Lua 5.2.2的记录,展示了一个表的声明和索引: > mylist = {'foo', 'bar'} > print(mylist[1]) foo 为什么以下语句是不合法的? > print({'foo', 'bar'}[1]) stdin:1: ')' e...

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 ...

15得票2回答
Redis - 为什么 Lua 表作为返回值时不起作用

当我把这段代码通过Redis EVAL运行时,它没有返回任何结果。你知道为什么会出现这种情况吗?redis-cli EVAL "$(cat bug.lua)" 0 bug.lualocal retv = {} retv["test"] = 1000 return retv 如果我初始化表格,...

106得票3回答
如何在Lua中向表格添加内容

我正试图找出等效于:foo = [] foo << "bar" foo << "baz" 我不想自己编写递增索引,有没有简单的方法可以实现?