1

eval()Lua ソース文字列の関数のPyton 3 ラッパーを作成しようとしています。

Python で Lua 式を実行するには、 Lupaライブラリeval()から使用します。しかし、Lupa の署名は Python のビルトインとは異なります。eval()eval()

  • ルパ評価: eval(source: str),
  • Python 評価: eval(source: str, globals: dict, locals: dict).

もちろん、globalslocalsがであればNone、関数を簡単に書くことができます。これには、自己書き込みの 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)

globalsしかし、空でない辞書と辞書を転送したい場合はどうすればよいlocalsですか?

たぶん、Lupaでは不可能で、他のライブラリを使用する必要がありますか?

4

0 に答える 0