问题标签 [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 投票
5 回答
14795 浏览

c# - 在 C# / .Net 中解析 Lua 数据结构的最简单方法

任何人都知道在 C# 或任何 .Net 库中解析 Lua 数据结构的简单方法吗?这将类似于 JSON 解码,除了 Lua 而不是 javascript。

在这一点上,我似乎需要自己写,但希望已经有一些东西了。

0 投票
2 回答
636 浏览

c++ - 在 C++ 应用程序中嵌入 Rake?或者有 LUA 的湖吗?

我发现了一些关于在 C++ 应用程序中嵌入 Ruby 的问题。几乎所有投票最多的答案都建议使用 Lua。

鉴于我想到的一个项目会更好地使用 Rake 中已经表达的语法(它是一个规则引擎),是否有任何简单的方法可以将 Rake 嵌入到 C++ 应用程序中,或者是否有类似 Rake 的 Lua 模块?

澄清一下:如果可能的话,我希望这是一个独立的应用程序。它应该具有最少的先决条件,因为它将在相当简陋的 (Windows) 操作系统上运行。

0 投票
3 回答
1994 浏览

c++ - 通过 Swig 在 C++ 和 Lua 之间传递变量

我正在开发一个包含大量类(150 多个)的 C++ 项目,每个类都有 10 到 300 个左右的字段。我真的很想能够提供一个脚本接口用于测试目的,这样我就可以编写不需要任何重新编译的回调。我想在 Lua 中执行此操作,因为我对它的 C API 比对 Python 的更熟悉,但如果它可以避免头痛,我很乐意在 Python 中执行此操作。

我已经掌握了如何从我的 C++ 调用 Lua 函数,反之亦然,并且我知道如何来回传递基本数据类型。我的问题是如何使用 SWIG 在两者之间共享用户指定的数据类型。

例如,在我的 C++ 中的某个时刻,我可能想要评估具有 250 个字段的对象中的几条成员数据。我希望能够将该对象交给 Lua,然后(希望?)使用生成的 SWIG 包装器来操作该对象,显示某些字段,然后将(可能更改的)对象传递回 C++ 以继续使用.

我还希望能够使用包装器在 Lua 中实例化对象的实例,并将其传递给 C++ 以用作对象的普通 C++ 版本。

这可能吗?有人可以指出我的教程或明确的例子吗?

谢谢你的尽心帮助!

0 投票
4 回答
2862 浏览

lua - 如何在lua中关闭?

假设我有一个包含以下行的文件名“test.lua”:

因为 loadstring 在全局环境下做它的事情,所以当我调用 f_generate()() 时我会得到一个错误“尝试调用全局'f'(一个 nil 值)”

注释掉的代码表明函数环境不能处理这个问题。

因为表是lua中唯一的数据结构,(函数环境和其他很多东西都是通过表实现的),我认为假设闭包也是通过表实现是合理的,但是我怎么能得到它呢?

0 投票
2 回答
1066 浏览

lua - luaopen_my_example 在编译 swig 包装器后未定义

我刚刚潜入 SWIG 作为创建 Lua 绑定的一种方法,但遇到了障碍。我制作了我的接口文件并从中构建了一个共享对象文件,没有任何问题。但是,当我运行 Lua 并尝试请求共享对象时,我得到以下信息:

堆栈回溯:

我似乎在网上找不到任何描述这种情况的东西,所以我想我会在这里发帖。那里有 SWIG 大师吗?我要包装的课程有几千行(并且是专有的),或者我会在这里发布。

谢谢!:D

0 投票
1 回答
735 浏览

inheritance - (SWIG / Lua) 如何访问 swig_lua_class 中的基类/父类列表

我注意到在为给定的一组类生成的 SWIG 包装器中,SWIG 保留了该类继承自的所有父类的 C 字符串表示形式的列表。(char ** base_names)。我知道有一个功能

这将返回给定变量数据类型的字符串表示形式。是否还有一个函数可以将父类的表作为字符串返回?如果没有,有没有简单的方法来编写这个函数?我完全不熟悉 SWIG 的内部运作。

谢谢!

0 投票
1 回答
247 浏览

python - python/lua 的 Swig 绑定无法正确初始化成员数据

我正在尝试为一组 C++ 类构建一组 Lua 绑定,但一直在玩弄 Python,看看我是否能得到更好的结果。在这两种语言中,绑定似乎都有效,但是,当我初始化包含其他类成员的类的实例时,似乎不能保证这些数据成员被初始化。

例如,上课:

当我为这样的类生成绑定时,我可以执行如下语句:

我将预期的垃圾值打印到屏幕上。但是,如果我尝试打印有关 OtherClass 的实例的任何内容,很明显它已“被排除”——在 Lua 中它根本没有元表,而在 Python 中执行 dir(var.oc) 只提供默认函数。但是,如果我这样做:

oc metatable / dir(oc) 调用是我所希望的,它可以按预期处理。

任何人都可以提供任何见解,为什么只有 - 一些 - 成员数据被初始化?

谢谢!

0 投票
8 回答
845 浏览

ruby - 如果我非常喜欢 Ruby,我现在有理由学习另一种语言吗,比如 Lua 或 Erlang?

如果我非常喜欢 Ruby,我现在有理由学习另一种语言吗,比如 Lua 或 Erlang?

0 投票
3 回答
20840 浏览

iphone - iPhone上的Lua?

我正在尝试在 iPhone 上使用 Lua。在 Mac OS X 上,在普通(非 iOS)Cocoa 应用程序中,我使用了以下代码:

我从 lua.org/ftp 下载了 Lua 5.1.4 并为 Mac OS X 编译了它。在 Xcode 项目中,我使用“添加现有框架”添加liblua.a,我使用“添加现有文件”添加包含目录。

这按预期工作,并打印字符串:“Hi from Lua”。当我在 iOS 项目中尝试同样的事情时,它会给出错误:

.a 文件似乎没有链接到 iPhone 应用程序。有谁知道如何使这项工作?

(顺便说一句,如果 Apple 中包含 Lua,我并不关心 Apple 可能不会接受我的应用程序。)

0 投票
9 回答
26132 浏览

c++ - Lua 比 C/C++ 更适合的示例用法

我目前正在嵌入 Lua 并将其用作美化的智能配置文件。然而,我认为我错过了一些东西,因为人们对 Lua 的使用赞不绝口。

例如,通过展示这个例子,我可以很容易地解释为什么你可以使用 shell 脚本而不是 C(诚然,boost regexp 是多余的):

并将其与:

您可以在 Lua 中提供任何可以让我“点击”的示例吗?

编辑:也许我的问题是我对 Lua 的了解还不够好,还不能流利地使用它,因为我发现编写 C 代码更容易。

编辑2:

一个例子是 C++ 和 Lua 中的一个玩具阶乘程序:

卢阿:

在这里,这些程序看起来很相似,但在 include、namespace 和 main() 声明中显然有些杂乱无章,您可以摆脱它。还要删除变量声明和强类型。

现在人们是说这是一个更大的程序的优势,还是有更多的优势?这与 bash 示例不同。