我正在尝试创建一个评估字符串并为其中包含的函数返回 LuaFunction 对象的方法。这些字符串将由用户输入,因此我无法事先知道函数的名称。示例字符串:
function doSomething()
print('x')
end
我希望 LuaFunction 指向doSomething
.
我能够使用正则表达式来捕获函数的名称,然后使用 NLua.Lua.GetFunction 但这不适用于函数中的函数。
现在我的代码使用 KeraLua.Lua.LoadString 并为 LoadString 创建的块返回一个 LuaFunction。这种工作,但这意味着 LuaFunction 不能接受 args。
这个答案与我想要的类似,但我不能像它显示的那样强制函数成为表的成员。