如果我的应用程序接受多个文件(如one.lua和two.lua ),我将使用one.lua作为脚本接口。
我希望将所有文件中的所有函数都放到luafunctions列表中。
List<LuaFunctions> Functions;NLua似乎没有这样的特性,但是有什么方法可以绕过它吗?有一个GetFunction(string)方法,它将返回您命名的函数,我可以在GetFunction方法上执行一个蛮力方法,但这会使我的应用程序需要花费几个小时才能启动。
有什么方法可以解决这个问题,并将所有文件中的所有函数都放到一个luafunctions列表中呢?
发布于 2014-03-18 09:50:01
由于函数不能突如其来地列出,几个小时后我找到了另一种方法。
我把所有函数都列在一张桌子上。所以我的lua密码:
function Start()
// something
end
function Update()
// something else
end变成这样:
var main = {}
function main.Start()
// something
end
function main.Update()
// something else
end这样,我就可以从表列表中获取它们,使用
lua.GetTable({tablename});我已经为它编写了一个要求,必须将其命名为与该文件相同的名称,因此它将成为:
var funcList = lua.GetTable(Path.GetFileNameWithoutExtension(c:\main.lua));这将获取并列出所有函数,然后我们可以使用:
lua.GetFunction(funcList[0]).Call();举个例子。我花了一段时间才找到这个工作,我希望这会对某人有好处。
https://stackoverflow.com/questions/22443998
复制相似问题