2011-09-28 204 views
-1

我正在使用.net中的LuaInterface来处理我正在处理的大型项目。是否可以直接将字符串转换为LuaFunction(类似于LoadString()的工作方式?)。将字符串转换为类型“LuaFunction”

+2

不是LuaInterface有'LoadString'或一些等价的吗?如果没有,它不是一个好的接口,它可能会改变它的名字;) –

+0

@Nicol你可以运行一个字符串,是的。我需要将一个字符串转换为一个'LuaFunction'对象。 – FreeSnow

+0

'lua_loadstring'不运行字符串。它加载它,将其转换为一个函数,并将它推入堆栈。如果LuaInterface对Lua函数有一个特殊的对象,那么LuaInterface的'lua_loadstring'等价物应该返回那个特殊的对象。或者其他可调用的东西。它返回什么? –

回答

2

LuaInterface有LoadString,这就是你如何将lua源代码解析成一个LuaFunction,然后你可以使用Call方法来执行该函数。

static void Main(string[] args) { 
    Lua lua = new LuaInterface.Lua(); 

    LuaFunction func = lua.LoadString("return 5", "name for debugging"); 

    func.Call(); 
}