1

我正在尝试eval()为 Lua 源字符串的函数编写 Pyton 3 包装器。

为了在 Python 中执行 Lua 表达式,我使用eval()Lupa。但是 Lupa 中的签名eval()与 Python 内置的不同eval()

  • 卢帕评估:eval(source: str)
  • Python 评估:eval(source: str, globals: dict, locals: dict).

当然,如果globalslocalsNone,我可以简单地编写我的函数。在自己编写的 eval 中调用 Lupa 的 eval 就足够了:

import lupa

lua_run = lupa.LuaRuntime(unpack_returned_tuples=True)

def eval(expression, globals=None, locals=None):
    return lua_run.eval(expression)

但是如果我想传输非空globalslocals字典我该怎么办?

也许,这在 Lupa 中是不可能的,我必须使用其他一些库?

4

0 回答 0