首页 > 解决方案 > 为自定义的基于 lua 的脚本语言编写包装器

问题描述

我有一个程序,它是 Lua 的扩展,即它包括一堆额外的对象和函数。该程序现在可用于执行 lua 脚本,这些脚本利用标准 lua 之上的附加功能。此类脚本的通用示例如下所示(其中 NewObject+操作不是标准 lua)

   A = NewObject(12, "a string argument", table)
   B = NewObject(1, "another string", other_table)
   C = A+B
   ... do something with C and print the result

现在,我想在 python 中使用这些对象和函数。因此,我想编写某种包装器,允许我将参数数据传递给我的(自定义)lua-runtime(并最终检索结果)并动态进行上述调用。我知道标准 lua 的 python 包装器存在,例如 lupa。但是,我不确定是否可以使用它,因为我不使用标准的 lua 解释器。此外,我希望它尽可能轻量(我需要交换的数据非常“标准”,即整数、浮点数、字符串、布尔值和此类类型的表,因此没有“更高”的对象),也许还有 LuPa已经做的比我需要的多得多..)。

不幸的是,我没有编写包装器或语言绑定的经验,而且我真的不知道如何开始。如果有人可以为我提供有关该主题的一些阅读资料或对目前的情况提出一些建议,我将很高兴。

标签: pythonluawrapperlanguage-bindinglupa

解决方案


推荐阅读