问题标签 [lua-5.3]

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 投票
0 回答
1103 浏览

lua - Lua 5.3 最大变量名长度

我正在为大学做一份关于 Lua 5.3 的报告,并且有一个我需要谈论变量名的话题。我已经查阅了文档,但我需要的信息不存在。

我想知道的是 Lua 5.3 中变量名可以有多少个字符?存在一些最大限制或大小对解释器无关紧要?

0 投票
2 回答
1317 浏览

c++ - 如何使用库“lfs”构建 lua 5.3?

在我的项目中,我通过在 Lua 的 Makefile 中添加 lfs.c 和 lfs.h 来使用库“lfs”( https://github.com/keplerproject/luafilesystem )构建 Lua5.1,效果很好。

但是升级到 lua5.3 之后,就这样失败了:

测试.lua:

我检查了最新的“lfs”库是否支持 Lua5.3。

我的操作系统是 macos 10.12,这是我正在使用的 makefile

任何意见,将不胜感激

0 投票
1 回答
605 浏览

lua - 我传递给 lua 脚本的参数为零

我正在编写一个 Lua 5.3 程序,它需要将参数传递给它。我使用该arg表来获取第一个参数:arg[1],但根据脚本,即使我已将参数传递给文件,第一个参数也是 nil。

这是我编写的代码:

我将参数传递给文件,如下所示:

它认为 arg[1] 不是 nil 值。在 Lua 5.3 中是否有不同的方式将参数传递给 lua 脚本?

0 投票
1 回答
506 浏览

utf-8 - utf8.offset:如何指定起始位置?

如何使用从特定字节和字符位置开始utf8.offset(s, n, i)查找字符的偏移量?ni参数记录为:

返回 s 的第 n 个字符(从位置 i 开始计数)的编码开始的位置(以字节为单位)...

我得到i的是我需要的,但我不明白它是字节位置还是字符位置。我该如何使用它?

0 投票
1 回答
140 浏览

lua - 字符串引用

在我的代码中,我需要在本地跟踪某些值(字符串,总是......)。我想知道在官方 Lua 5.3 实现中将其放入本地后,运行时是否会重新创建或检查此字符串。有任何想法吗?在这个 lua.org文档中,我至少听说过 Lua 实现会进行字符串内部化(保留任何字符串的单个副本)。

我正在重新启动我的代码,所以到目前为止我做了一些微不足道的事情。我可以为每个函数做的一个例子是:

0 投票
1 回答
251 浏览

lua - 通过_ENV模拟c ++'使用命名空间'

如果我有一个文件foo.lua

bar.lua我大量使用代码时,foo.lua我一直被打字所困扰,宁愿foo.add()只写我可以添加这个:add()bar.lua

但是当您从许多文件中包含许多值的别名时,这开始变得很痛苦。在 c++ 中有一种解决方法:

在 lua 中,我认为您可以像这样模拟此功能:

据我所知,它尊重范围,所以像下面的代码这样的东西很好玩:

实际上下面的代码不起作用。我正在通过 lua repl 运行代码。当我在 lua 文件中编写下面的代码片段时,它没有给出预期的结果。

我有什么理由后悔这样做吗?(除了同样适用的原因using namespace

0 投票
1 回答
449 浏览

lua - 获取对 Lua 中调用函数的引用

我知道我可以debug.getinfo(1, "n").name用来获取调用函数的名称,但我想获取对该函数指针本身的引用。

对于debug.getlocal()f参数是堆栈位置,因此我只需选择正确的索引即可轻松获取调用函数的局部变量。但是对于debug.getupvalue()f参数是函数指针本身,我没有。

这是一个简短的示例,但其中有问题的行debug.getupvalue(someFunction, index)是为了演示我想要完成的工作,而没有硬编码的参考。

0 投票
2 回答
789 浏览

c - Lua C 函数调用返回 nil

我为 Lua 写了一个简单的 C 插件:

使用此 GCC 命令成功编译代码:

在 Lua 5.3 REPL 中,我也能够成功找到并导入模块,但函数调用的返回值始终为nil

没有错误被抛出,因为我能够printf在返回值之前在 C 代码中得到结果,我知道代码被调用并且结果计算成功。

有任何想法吗?

Edit1:通过不使用局部变量,我得到了这个堆栈跟踪而不是一个 nil 值:

0 投票
1 回答
31 浏览

lua - 为什么文档说在表格中查找了`__index`?

来自Lua 5.3 文档

__index:索引访问table[key]。...元方法在table.

它对 说同样的事情__newindex,但对任何其他元方法都没有。

如果这是真的(事实并非如此),那将是与以前版本的 Lua 的重大背离。如我所料,以下代码输出nil,但与文档不一致。

需要明确的是:如果文档是正确的,我希望t0在上面的代码中只需要一个__index没有实际元表的字段 for t0.ato be 54。那么有谁知道doc是怎么回事?

0 投票
2 回答
96 浏览

lua - Lua 代码 elseif 不工作

这就是接受用户的输入并使用该特定文本进行搜索。

string.gsub

错误:elseif循环不起作用!