将Lua函数列在文件中
发布时间:2020-12-15 00:16:22 所属栏目:大数据 来源:网络整理
导读:如何列出Lua源文件中包含的所有函数? 例如,我有fn.lua包含 function test1() print("Test 1")endfunction test2() print("Test 2")end 我希望能够从另一个Lua脚本中显示这些函数名称(test1,test2). 我现在唯一能想到的方法是使用require包含文件,然后列出_G
如何列出Lua源文件中包含的所有函数?
例如,我有fn.lua包含 function test1() print("Test 1") end function test2() print("Test 2") end 我希望能够从另一个Lua脚本中显示这些函数名称(test1,test2). 我现在唯一能想到的方法是使用require包含文件,然后列出_G中的函数 – 但是这也将包括所有标准的Lua函数. 当然我可以使用字符串搜索功能手动解析文件,但这对我来说似乎不是很好! 这最终将成为允许开发人员在Lua中编写函数的过程的一部分,并且运算符可以从Excel(yuk!)中的列表中选择调用哪些函数. 解决方法
如果你把它们都放在一个“模块”中(无论如何你应该这样做):
mymodule = { } function mymodule.test1() print("Test 1") end function module.test2() print("Test 2") end return mymodule 它变得微不足道: mymodule = require"mymodule" for fname,obj in pairs(mymodule) do if type(obj) == "function" then print(fname) end end 如果你必须以原始形式保存它们,你必须以不同的方式加载它们以分离你的全局环境,然后以类似的方式迭代它(在内部env的清理_G上,也许). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |