首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从NLua获取函数列表

从NLua获取函数列表
EN

Stack Overflow用户
提问于 2014-03-16 22:34:56
回答 1查看 1.2K关注 0票数 2

如果我的应用程序接受多个文件(如one.lua和two.lua ),我将使用one.lua作为脚本接口。

我希望将所有文件中的所有函数都放到luafunctions列表中。

代码语言:javascript
复制
List<LuaFunctions> Functions;

NLua似乎没有这样的特性,但是有什么方法可以绕过它吗?有一个GetFunction(string)方法,它将返回您命名的函数,我可以在GetFunction方法上执行一个蛮力方法,但这会使我的应用程序需要花费几个小时才能启动。

有什么方法可以解决这个问题,并将所有文件中的所有函数都放到一个luafunctions列表中呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-18 09:50:01

由于函数不能突如其来地列出,几个小时后我找到了另一种方法。

我把所有函数都列在一张桌子上。所以我的lua密码:

代码语言:javascript
复制
function Start()
   // something
end

function Update()
   // something else
end

变成这样:

代码语言:javascript
复制
var main = {}

function main.Start()
   // something
end

function main.Update()
   // something else
end

这样,我就可以从表列表中获取它们,使用

代码语言:javascript
复制
lua.GetTable({tablename});

我已经为它编写了一个要求,必须将其命名为与该文件相同的名称,因此它将成为:

代码语言:javascript
复制
var funcList = lua.GetTable(Path.GetFileNameWithoutExtension(c:\main.lua));

这将获取并列出所有函数,然后我们可以使用:

代码语言:javascript
复制
lua.GetFunction(funcList[0]).Call();

举个例子。我花了一段时间才找到这个工作,我希望这会对某人有好处。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22443998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档