问题标签 [lua-5.2]
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.
lua - 具有键值对的 lua 表中的“For each”循环
假设我有一个这样定义的表:
myTable = { myValue = nil, myOtherValue = nil}
我将如何在这样的每个时尚循环中迭代它?
此外,如果它有帮助,我并不真正关心密钥,只关心价值。
debugging - Lua I/O 在调试时工作,但在程序中不正确
我正在测试第一次在 Lua (5.2.1) 脚本中写入文件,在两个版本之间交替:
版本 1
版本 2
在 ZeroBrane Studio 中进行调试时,这两种方法都可以正常工作,但是当将其插入我的程序的脚本中时,不会写入该文件,并且在该点之后出现的任何代码显然都不会执行。
顺便说一句,我在我的程序中包含了 I/O 库。
c++ - 如何将 C++ 对象返回到 lua 5.2?
如何将 C++ 对象返回给 lua?
我的 C++ 代码如下:
Lua 测试如下:
如何修改 test() 函数以正常工作?
obj 会被 lua 自动销毁吗?
PS:我已设置 MyClass 元表如下
我不应该失步吗?
我不使用任何 Lua 绑定框架,我使用的是纯 Lua 库。
==== 更新 1 ====
感谢user1520427的回答,但是......
我在 Lua 中测试它
Lua 显示元表是正确的。
但是lua仍然显示相同的错误
=== 更新 2 ===
lua测试结果:
=== 更新 3 ===
Lua测试结果:
lua - 如何将lua函数块转储到字符串?
如何将lua函数块转储到字符串?
我希望 dumpToString 结果如下:
这个怎么做 ?
=== update1 ===
我想自动记录和注入代码。
c++ - 从 C++ 调用 Lua 5.2 函数
我对Lua很陌生。我一直在看一些关于如何从 C++ 调用 Lua 函数的示例代码,但是示例代码使用 5.1,我正试图让它与 5.2 一起使用。
这是我的评论有问题的示例代码:
我在 5.2 参考手册(http://www.lua.org/manual/5.2/manual.html#8.3)中读到需要从注册表获取全局环境(而不是上面的 lua_gettable 语句)但是我无法确定需要进行哪些更改才能使其正常工作。我试过了,例如:
sql - 向预编译的 Lua 5.2 项目添加 SQL 扩展
我研究了至少 6 种不同的 SQL Lua 扩展,它们的最新版本似乎都与 Lua 的 5.1 版本兼容。我在使用 Lua 5.2 的当前项目中实现它们中的任何一个的成功率为零,最好的情况是以静默程序崩溃或attempt to call global 'module' (a nil value)
.
我不是最初的项目所有者,所以我尽量不要被迫更改它的源代码(尽管最近,我什至已经走上了这条路)。
通常,不清楚这些崩溃是否与项目本身的运行方式、项目实现 Lua(作为静态库)的方式、Lua 尝试实现其扩展的方式、扩展实现其依赖项的方式有关,版本控制冲突,或每种的某种疯狂组合。以这种方式调试无声崩溃实际上是不可能的,因为邪恶的根源实际上可以是任何东西。
正如这个问题中的答案所述,我什至尝试支持模块功能(大多数 lua sql 扩展使用,但在 5.2 中已弃用),但程序仍然崩溃或只是抱怨看似无限量的缺失依赖项。在花费数小时追踪(似乎是)它会抱怨的所有依赖项之后,它仍然崩溃。
将项目的源代码更改为使用 Lua 5.1 源代码似乎会破坏项目的功能,从而导致有关缺少 5.2 相关函数的各种编译器错误。将MySQL C/C++ 连接器链接到项目会导致相当模糊的运行时错误,这似乎与项目实现 Lua 5.2 的方式相冲突。
是否有任何在 32 位 Windows 机器上实际与 Lua 5.2 一起工作的 sqlite/MySQL 扩展?最好是带有 Lua 源/ffi 绑定的“开箱即用”预编译二进制文件?
或者,是否有关于如何正确设置此设置的明确说明,而不必为每个所需的组件在网络上搜索单独的说明?
lua - require 函数在 lua_load 失败,语法错误
我是Lua的新手。我已将 Lua 5.2 移植到另一个平台。我能够运行 Lua 脚本。但是加载模块有问题。
我在sample.lua
下面有一个脚本。在这个脚本中,我试图使用 require 函数调用另一个 Lua 脚本中可用的函数。lua_load()
require 函数在with处失败LUA_ERRSYNTAX
。不确定这是否是 Lua 5.2 版本的问题。
示例.lua
模块.lua
file中的 require 函数sample.lua
定位module.lua
文件但在lua_load()
. 谁能帮我解决这个问题?
lua - 加载文件并返回其环境
我正在尝试执行以下操作:(下面的包含()代码)
文件1.lua
文件2.lua
我已经找到了我正在寻找的东西,但是在 lua 5.1 中: Loadfile without polluting global environment
但我就是不能让它在 5.2 中工作,
在 C++ 中使用它,并带有一个注册版本的加载文件,所以我试图不修改函数调用。这可能吗?无论我尝试休息还是 env 都是空的。
lua - Hiding a Lua metatable and only exposing an object's attributes
How do you create a Lua object that only exposes its attributes and not its methods? For example:
Produces:
Also, is it possible to not use the colon syntax for OOP in Lua? I don't need inheritance, polymorphism, only encapsulation and privacy.
c++ - 来自 Lua 脚本的 C++ 调用函数
我正在尝试在我的应用程序中绑定 Lua,现在我尝试测试如何将 Lua 绑定到 C++ 中。我的问题很奇怪,因为我想main()
在开始时从脚本调用函数,在luaL_loadfile
. 我的代码:
我的输出是:
运行函数“main”时出错:尝试调用 nil 值