问题标签 [luainterface]

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 回答
549 浏览

events - 断开 Lua 中的事件

我正在阅读 LuaInterface Tutorial (here)的一部分,发现您可以通过执行类似的操作将事件与函数关联:

现在,考虑到这一点,有人知道我将如何删除事件处理程序吗?假设我只想断开上面的连接。我该怎么做?

0 投票
2 回答
1065 浏览

c# - C#中的Lua接口

我是 C# 的完全“菜鸟”,但是我确实知道一些 C,虽然这是一个好的开始,但这还不够。我已经下载了最新版本的 LuaInterface,下载内容包括两个文件:lua51.dll 和 LuaInterface.dll。我无法弄清楚如何在我的 C# 项目中使用它,并且能够在其中运行 Lua。如果有人可以提供帮助,那就太好了。如果可以,请不要使用非常复杂的解释。谢谢!

0 投票
1 回答
333 浏览

c# - Luainterface 5.1 获取脚本的所有使用的全局变量

反正有没有得到所有使用过的全局名称的列表?

一种方法是不加载任何全局变量,然后执行脚本。让它崩溃并解析名称的异常......非常难看......

0 投票
1 回答
2476 浏览

c# - 用c#读取Lua文件

我已经在我的 Visual Studio 2008 c# 项目中成功引用了 luainterface。

这是我的代码:

我得到的输出是:

我的数据如下所示:

我想为我的 lua 文件中的每个变量返回值:id、rel、rs108 ....

我究竟做错了什么?

更新 这几乎可以工作:

它正在通过正确的键值,但我不需要查看每个键中的值。我该怎么做呢?

0 投票
1 回答
1364 浏览

c# - 使用 Lua 中基于标志的 .NET 枚举

我正在使用 LuaInterface for .NET 创建 Windows 窗体对象。这很好用,除了一件事:

我想使用 的Anchor属性Control使它们自动调整大小。如果我只设置一个 Anchors(例如 only AnchorStyles.Top),它可以工作,但这并没有真正的意义。我必须设置多个 Anchor,这是通过将它们与“按位或”组合(或仅以数字方式添加它们)来完成的。

在 VB.Net 中,两者都有效:

在 Lua 中,这确实有效:

...但是这条附加线没有:

它给了我以下错误:

这在某种意义上是正确的,因为“LuaInterface 将枚举值视为相应枚举类型的字段”(LuaInterface 说:使用 Lua 编写 .NET CLR 脚本)。


也不能将值分配为数字:

这一次,错误消息相当不具体:


我该如何解决这个问题?

是否有可能将数字类型转换为Lua中的正确枚举类型?

0 投票
1 回答
2842 浏览

c# - 如何从 C# 调用具有“要求”的 Lua 脚本中的 Lua 函数?

我有一个使用 LuaInterface 执行 Lua 脚本的 C# 程序。到目前为止,它运行良好,除非我的 Lua 脚本需要特定的包,如 LuaXML。

我想将 XML 字符串从 C# 发送到 Lua 函数。

这是保存在 C:\temp 中的 XML:

这是 C# 代码:

这是 Lua 脚本,保存在 C\temp 上:

这是我得到的错误:

我是否必须将所有这些文件(.lua、.dll)手动放到所有这些位置?

当我从 Lua 控制台执行 Lua 脚本时,它可以工作。它返回 10,即第一本书的id

此外,如前所述,只要脚本中没有“require”,我就可以从 C# 调用 Lua 函数。引发这种异常的不仅是 LuaXML。任何包裹都可以。

我玩过环境变量,但没有成功。但是,我不是很擅长。

预先感谢您的帮助。

0 投票
1 回答
890 浏览

c# - LuaInterface:访问对象属性

我正在使用 LuaInterface 为我希望在 Lua 中可用的一些对象注册一个 getter。例如:

我的 Lua 文件:

在 Lua 中返回公共对象属性后,我该如何访问它们?这甚至可能还是我必须为每个对象属性编写getter?

0 投票
1 回答
84 浏览

c# - 文件名 > 60 个字符时忽略断点

我的 lua 源文件的文件名 > 60 个字符(带有必要的非绝对路径)当调试器运行时,LuaDebugger.cs 执行断点检查:

GetBreakpoint 调用 GetFile() 但它总是返回 null 因为

失败

(shortsrc 由 定义 [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 60/*LUA_IDSIZE*/)]

如果我使用filename = luaDebug.source.toString().Substring(1)它,但我不想更改 luainterface-debugger 源代码。

0 投票
1 回答
2906 浏览

c# - 将 C# 集合传回 Lua

我有一个用 C# 编写的 DLL,供 Lua 脚本使用。脚本“需要 CLRPackage”。到目前为止,我可以通过load_assembly()import_type()来获取我的 DLL 中的类和方法。我正在传回简单的值和字符串,这一切都有效。

不,我需要将通用集合传递回 Lua。我相信 Lua 会看到一个表,但我不清楚如何在 C# 中创建该表并将其传回。

似乎是一个类似的问题,但我没有看到如何实现它。是否有另一种解决方案或带有精简代码片段的解决方案?

0 投票
1 回答
314 浏览

macos - 是否可以在 Mono/Mac OS 中使用 LuaInterface?

LuaInterface 使用两个 .dll:lua51luanet

虽然能够将 lua51 重建为 liblua5.1.dylib (并且代码实际上找到了所有必要的入口点),但我完全被luanet.dll困住了。

有谁知道如何在 Mac OS 上构建它,或者我是否必须完全避免使用它(以丢失 ObjectTranslator 和 MetaFunctions 之类的东西为代价)?

我已经知道有像http://github.com/jsimmons/LuaSharp这样的替代品。