eval()Lua ソース文字列の関数のPyton 3 ラッパーを作成しようとしています。
Python で Lua 式を実行するには、 Lupaライブラリeval()から使用します。しかし、Lupa の署名は Python のビルトインとは異なります。eval()eval()
- ルパ評価:
eval(source: str), - Python 評価:
eval(source: str, globals: dict, locals: dict).
もちろん、globalsとlocalsがであれば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では不可能で、他のライブラリを使用する必要がありますか?