问题标签 [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.
c# - 在 C# / .Net 中解析 Lua 数据结构的最简单方法
任何人都知道在 C# 或任何 .Net 库中解析 Lua 数据结构的简单方法吗?这将类似于 JSON 解码,除了 Lua 而不是 javascript。
在这一点上,我似乎需要自己写,但希望已经有一些东西了。
c++ - 在 C++ 应用程序中嵌入 Rake?或者有 LUA 的湖吗?
我发现了一些关于在 C++ 应用程序中嵌入 Ruby 的问题。几乎所有投票最多的答案都建议使用 Lua。
鉴于我想到的一个项目会更好地使用 Rake 中已经表达的语法(它是一个规则引擎),是否有任何简单的方法可以将 Rake 嵌入到 C++ 应用程序中,或者是否有类似 Rake 的 Lua 模块?
澄清一下:如果可能的话,我希望这是一个独立的应用程序。它应该具有最少的先决条件,因为它将在相当简陋的 (Windows) 操作系统上运行。
c++ - 通过 Swig 在 C++ 和 Lua 之间传递变量
我正在开发一个包含大量类(150 多个)的 C++ 项目,每个类都有 10 到 300 个左右的字段。我真的很想能够提供一个脚本接口用于测试目的,这样我就可以编写不需要任何重新编译的回调。我想在 Lua 中执行此操作,因为我对它的 C API 比对 Python 的更熟悉,但如果它可以避免头痛,我很乐意在 Python 中执行此操作。
我已经掌握了如何从我的 C++ 调用 Lua 函数,反之亦然,并且我知道如何来回传递基本数据类型。我的问题是如何使用 SWIG 在两者之间共享用户指定的数据类型。
例如,在我的 C++ 中的某个时刻,我可能想要评估具有 250 个字段的对象中的几条成员数据。我希望能够将该对象交给 Lua,然后(希望?)使用生成的 SWIG 包装器来操作该对象,显示某些字段,然后将(可能更改的)对象传递回 C++ 以继续使用.
我还希望能够使用包装器在 Lua 中实例化对象的实例,并将其传递给 C++ 以用作对象的普通 C++ 版本。
这可能吗?有人可以指出我的教程或明确的例子吗?
谢谢你的尽心帮助!
lua - 如何在lua中关闭?
假设我有一个包含以下行的文件名“test.lua”:
因为 loadstring 在全局环境下做它的事情,所以当我调用 f_generate()() 时我会得到一个错误“尝试调用全局'f'(一个 nil 值)”
注释掉的代码表明函数环境不能处理这个问题。
因为表是lua中唯一的数据结构,(函数环境和其他很多东西都是通过表实现的),我认为假设闭包也是通过表实现是合理的,但是我怎么能得到它呢?
lua - luaopen_my_example 在编译 swig 包装器后未定义
我刚刚潜入 SWIG 作为创建 Lua 绑定的一种方法,但遇到了障碍。我制作了我的接口文件并从中构建了一个共享对象文件,没有任何问题。但是,当我运行 Lua 并尝试请求共享对象时,我得到以下信息:
堆栈回溯:
我似乎在网上找不到任何描述这种情况的东西,所以我想我会在这里发帖。那里有 SWIG 大师吗?我要包装的课程有几千行(并且是专有的),或者我会在这里发布。
谢谢!:D
inheritance - (SWIG / Lua) 如何访问 swig_lua_class 中的基类/父类列表
我注意到在为给定的一组类生成的 SWIG 包装器中,SWIG 保留了该类继承自的所有父类的 C 字符串表示形式的列表。(char ** base_names)。我知道有一个功能
这将返回给定变量数据类型的字符串表示形式。是否还有一个函数可以将父类的表作为字符串返回?如果没有,有没有简单的方法来编写这个函数?我完全不熟悉 SWIG 的内部运作。
谢谢!
python - python/lua 的 Swig 绑定无法正确初始化成员数据
我正在尝试为一组 C++ 类构建一组 Lua 绑定,但一直在玩弄 Python,看看我是否能得到更好的结果。在这两种语言中,绑定似乎都有效,但是,当我初始化包含其他类成员的类的实例时,似乎不能保证这些数据成员被初始化。
例如,上课:
当我为这样的类生成绑定时,我可以执行如下语句:
我将预期的垃圾值打印到屏幕上。但是,如果我尝试打印有关 OtherClass 的实例的任何内容,很明显它已“被排除”——在 Lua 中它根本没有元表,而在 Python 中执行 dir(var.oc) 只提供默认函数。但是,如果我这样做:
oc metatable / dir(oc) 调用是我所希望的,它可以按预期处理。
任何人都可以提供任何见解,为什么只有 - 一些 - 成员数据被初始化?
谢谢!
ruby - 如果我非常喜欢 Ruby,我现在有理由学习另一种语言吗,比如 Lua 或 Erlang?
如果我非常喜欢 Ruby,我现在有理由学习另一种语言吗,比如 Lua 或 Erlang?
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 可能不会接受我的应用程序。)
c++ - Lua 比 C/C++ 更适合的示例用法
我目前正在嵌入 Lua 并将其用作美化的智能配置文件。然而,我认为我错过了一些东西,因为人们对 Lua 的使用赞不绝口。
例如,通过展示这个例子,我可以很容易地解释为什么你可以使用 shell 脚本而不是 C(诚然,boost regexp 是多余的):
并将其与:
您可以在 Lua 中提供任何可以让我“点击”的示例吗?
编辑:也许我的问题是我对 Lua 的了解还不够好,还不能流利地使用它,因为我发现编写 C 代码更容易。
编辑2:
一个例子是 C++ 和 Lua 中的一个玩具阶乘程序:
卢阿:
在这里,这些程序看起来很相似,但在 include、namespace 和 main() 声明中显然有些杂乱无章,您可以摆脱它。还要删除变量声明和强类型。
现在人们是说这是一个更大的程序的优势,还是有更多的优势?这与 bash 示例不同。