Python 为自定义的基于lua的脚本语言编写包装器
我有一个程序,它是Lua的一个扩展,也就是说,它包含了一系列附加的对象和函数。这个程序现在可以用来执行lua脚本,它利用了标准lua之上的附加特性。此类脚本的一般示例如下所示(其中Python 为自定义的基于lua的脚本语言编写包装器,python,lua,wrapper,language-binding,lupa,Python,Lua,Wrapper,Language Binding,Lupa,我有一个程序,它是Lua的一个扩展,也就是说,它包含了一系列附加的对象和函数。这个程序现在可以用来执行lua脚本,它利用了标准lua之上的附加特性。此类脚本的一般示例如下所示(其中NewObject和+操作不是标准的lua) 现在,我想在python中使用这些对象和函数。因此,我想编写某种包装器,允许我将参数数据传递给我的(自定义)lua运行时(并最终检索结果),并动态地进行上述调用。我知道标准lua的python包装器已经存在,例如lupa。但是,我不确定是否可以使用它,因为我不使用标准的lu
NewObject
和+
操作不是标准的lua)
现在,我想在python中使用这些对象和函数。因此,我想编写某种包装器,允许我将参数数据传递给我的(自定义)lua运行时(并最终检索结果),并动态地进行上述调用。我知道标准lua的python包装器已经存在,例如lupa。但是,我不确定是否可以使用它,因为我不使用标准的lua解释器。此外,我希望它尽可能轻(我需要交换的数据是相当“标准”的,即整数、浮点数、字符串、布尔数和此类类型的表,因此没有“更高”的对象),也许LuPa已经做了比我需要的多得多的事了
不幸的是,我没有编写包装器或语言绑定的经验,也不知道如何开始。如果有人能为我提供一些关于这个主题的阅读资料或对目前的情况提出一些建议,我会很高兴。你真的需要制作一个嵌入Lua本身的程序吗?为什么你不能创建一个可以从标准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