问题标签 [lua]

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 投票
2 回答
996 浏览

lua - _VERSION 是 Lua 5.1 中唯一剩下的全局变量吗?

对 Lua 5.0 文档中对 , 等的引用感到困惑_LOADEDLUA_PATH_ALERT无法在 Lua 5.1 中使用),我发现所有这些都已被删除,而功能则放在了别处。我认为 Lua 5.1 中剩下的唯一一个全局变量是正确的_VERSION吗?

0 投票
5 回答
33661 浏览

performance - 我可以做些什么来提高 Lua 程序的性能?

我问了一个关于 Lua 性能的问题,其中一个回答

您是否研究过保持 Lua 高性能的一般技巧?即知道创建表,而不是创建一个新表,而是重用一个表,使用'local print=print'等来避免全局访问。

这是一个与Lua Patterns,Tips and Tricks略有不同的问题,因为我想要特别影响性能的答案,并且(如果可能)解释为什么会影响性能。

每个答案一个提示将是理想的。

0 投票
9 回答
26726 浏览

javascript - Are there any recent Lua to JavaScript converters or interpreters somewhere?

I need to find a good Lua to JavaScript converter; lua2js on luaforge.org is out of date (3 or so years old and looks like it doesn't work on Lua 5.1) and I haven't yet found anything on Google.

Does anyone have any experience with any other converters out there? It should work on Lua 5.1 and preferably be .NET based, but .NET is not a requirement. A javascript lua interpreter would work as well.

0 投票
8 回答
7330 浏览

c - 什么是嵌入式系统的好 C 内存分配器?

我有一个单线程的嵌入式应用程序,它分配和释放大量的小块(32-64b)。基于缓存的分配器的完美场景。虽然我可以尝试编写一个,但它可能会浪费时间,并且没有像已经在前线的一些解决方案那样经过测试和调整。

那么我可以在这种情况下使用的最佳分配器是什么?

注意:我在系统中使用 Lua 虚拟机(这是 80% 以上分配的罪魁祸首),所以我不能轻易地重构我的代码以使用堆栈分配来提高分配性能。

0 投票
6 回答
49072 浏览

windows - 创建独立的 Lua 可执行文件

有没有一种简单的方法可以从 Lua 脚本创建独立的 .exe 文件?基本上这将涉及链接 Lua 解释器和脚本。

我相信这是可能的(PLT Scheme 允许以相同的方式创建独立的可执行文件),但是究竟如何呢?

0 投票
2 回答
30119 浏览

lua - '尝试索引upvalue'是什么意思

我正在 Lua 中进行第一步编程,并在运行脚本时出现此错误:

这可能是由于我还没有掌握一些非常基本的东西,但是在谷歌搜索时我找不到任何关于它的好信息。有人可以向我解释这是什么意思吗?

0 投票
3 回答
2720 浏览

ftp - LuaSocket FTP 总是超时

我在LuaSocket的 TCP 设施上取得了成功,但我在使用它的 FTP 模块时遇到了问题。尝试检索(小)文件时,我总是会超时。我可以使用 Firefox 或 ftp 以被动模式(在 Ubuntu Dapper Linux 上)很好地下载文件。

我认为可能是我需要 LuaSocket 来使用被动 FTP,但后来我发现它似乎默认这样做。我试图通过 FTP 检索的文件可以通过我机器上的其他程序使用被动 FTP 访问,但不能通过主动模式访问。我在 LuaSocket 中发现了一些关于“黑客”被动模式支持的讨论,并且该讨论意味着以后的版本停止使用被动模式,但我的版本似乎仍然使用被动模式(我使用的是 2.0.1;最新的是 2.0.2 并且确实似乎没有与我的用例相关的任何更改)。我对那篇文章可能与我的情况有什么关系感到有些困惑,部分原因是它已经很老了,而且 LuaSocket 的源代码现在与该讨论中的代码几乎没有相似之处)。

我把我的代码归结为:

这给了我一个超时。我strace在 Linux 上运行它(与ptrace在 Solaris 上相同)。这是一个删节的成绩单:

我尝试连接到另一个站点,但它有一个我无法在此处发布的密码,但在这种情况下,结果略有不同......我得到了类似上面的跟踪但select()最后成功了,然后是:

将此与我在被动模式下的“ftp”程序的跟踪进行比较(工作正常,但请注意它不会像 LuaSocket 那样将套接字设置为非阻塞):

因此,我针对这两个不同的 FTP 站点尝试了 LuaSocket,但故障不同但相似。我还在另一台可以使用主动 FTP 的机器上尝试过它,但它没有更好的运气(大概是因为 LuaSocket 总是使用被动模式,从我可以通过阅读 中的源代码得知socket/ftp.lua)。

那么这里的任何人都可以让 LuaSocket 两线在顶部工作吗?请注意,在我的机器上,到戴尔站点的活动 FTP 不起作用(我可以连接,但一旦我ls断开连接),所以如果你让 LuaSocket 工作,请注意从另一个程序到戴尔站点的活动 FTP 是否工作你的机器。

0 投票
5 回答
2928 浏览

lua - Jabber 的 Lua 库

有人知道 Lua 的 Jabber 库吗?我找到了 AIM 的“Lua 消息库”,虽然我找不到它的下载,但它似乎已被放弃。

对 Lua 来说,类似的东西会有所帮助。


对不起,我最初没有说明这一点,我的意思是一个“纯 Lua”库。

我对 Verse 很熟悉,但没有选择为这个特定的应用程序构建我自己的 Lua 发行版。

0 投票
1 回答
885 浏览

garbage-collection - 完整的用户数据 __gc 元方法是否需要释放()它的内存?

我在用 C 编写的 Lua 模块中有一个完整的用户数据。用户数据有__gc()元方法,由垃圾收集器调用。lua解释器在__gc()调用后释放用户数据内存,还是我必须在free()里面__gc()

0 投票
3 回答
890 浏览

oop - Lua 中 OOP 库的设计问题

我在 Lua 中实现了一个小型 OOP 库,有两件事还不太对劲。我需要你的建议!

如何调用 super()?

我需要做出选择。我需要解决对 super() 的调用的三个参数是:

  • 发出呼叫的类 (CallerClass)
  • 要传递的实例(self)
  • 方法名(方法)

我在这三种形式之间犹豫不决:

哪一个看起来更好或更容易让您记住?

我需要类符号吗?

在当前版本中,唯一的概念是一个名为 的表Object,您可以对其进行子类化。我有另一个版本,我在其中引入了 Class 符号。

它的用途是从类中区分实例。IE :

我发现通过以下方式开始方法来记录和强制必须从类中调用方法非常方便:

它在 Lua 中有用吗?你怎么看?谢谢!