18得票1回答
Lua:遍历表中的所有键值对

我有一个稀疏的 Lua 表需要遍历。问题是,似乎 Lua 从索引 1 开始迭代,并在找到 nil 值后立即终止迭代。以下是一个示例:> tab={} > tab[2]='b' > tab[5]='e' > for i,v in ipairs(tab) do print(...

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

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

31得票1回答
如果、否则、否则如果和结束的Lua

任何想法为什么在Lua中这样是错误的? if Pieza == 1 then if Rotacion == 1 then Piezas = Cuadrado1 else if Rotacion == 2...

7得票2回答
在OCaml中嵌入Lua

请问,您能否提供一个代码片段,展示如何在OCaml中嵌入Lua? 一个简单的例子可以是一个“Hello, World”的变体。让OCaml提示用户输入名称,然后将该名称传递给Lua函数。让Lua打印问候语并返回名称的长度。然后让OCaml打印有关名称长度的消息。 例如: user@de...

11得票4回答
在Lua 5.2中重新创建setfenv()函数

我如何在Lua 5.2中重新创建setfenv的功能?我有些困惑,不太确定应该如何使用新的_ENV变量。 在Lua 5.1中,您可以轻松地使用setfenv来沙盒化任何函数。--# Lua 5.1 print('_G', _G) -- address of _G ...

9得票1回答
使用luabind和std::shared_ptr进行继承

我有一个API(一个特定的GUI库),它在很多情况下都依赖于std::shared_ptr,即它们经常被用作函数参数并存储在其他对象中。例如,容器小部件(如分割器和框)将在shared_ptr中存储其子小部件。现在我想通过luabind将此API映射到Lua。在理想情况下,Luabind会在s...

7得票1回答
srlua makefile错误:lua.h文件或目录不存在

我正在尝试使用srlua将我的lua文件编译成可执行文件,但是我遇到了一个问题。 anthony@anthony-linux:~/Downloads/srlua$ make gcc -I/tmp/lhf/lua-5.2.0/src -ansi -pedantic -Wall -Wextra...

8得票2回答
Lua 协同程序

我正在尝试了解如何使用协程来“暂停”脚本并等待某些处理完成后再继续执行。也许我对协程的理解有误。但是我的尝试结构类似于此答案中给出的示例。 在loop.lua中的循环永远不会达到第二次迭代,因此永远不会达到C代码中需要退出运行循环的i == 4条件。如果我在loop.lua中没有进行yiel...

8得票4回答
Lua gmatch奇怪字符(斯洛伐克字母)

我正在尝试从斯洛伐克语单词的字符串中提取字符。例如,"TURTLE"的斯洛伐克语单词是"KORYTNAČKA"。然而,当我尝试从字符串中提取该字符时,它跳过了"Č"字符: local str = "KORYTNAČKA" for c in str:gmatch("%a") do print(...

12得票2回答
如何创建Lua模块的dll

我正在尝试编写一个外部的Lua模块。我在Windows 8.1上工作,使用gcc作为编译器。我的要求是自己构建/编译所有内容,而不使用在线上提供的预编译文件。首先,按照以下方式构建Lua 5.2.4的C源代码:gcc -c *.cren lua.o lua.objren luac.o luac...