如何将Lua函数以列表形式存储于文件中?
- 内容介绍
- 文章标签
- 相关推荐
本文共计441个文字,预计阅读时间需要2分钟。
要列出Lua源文件中包含的所有函数名,可以使用以下Lua代码片段:
lua-- 假设Lua文件内容如下local function test1() print(Test 1)end
function test2() print(Test 2)end
-- 以下Lua代码将遍历当前文件的所有函数,并打印其名称local function listFunctions() local functionVisitor=function(self, name, env) if type(self)==table and name then print(name) end end
local function scan(env) local envType=type(env) if envType==table then for key, value in pairs(env) do scan(value) end elseif envType==function then local fnName=getinfo(env).name if fnName then functionVisitor(fnName, env) end end end
scan(_G)end
listFunctions()
运行这段代码,将会输出当前Lua源文件中定义的所有函数名。
本文共计441个文字,预计阅读时间需要2分钟。
要列出Lua源文件中包含的所有函数名,可以使用以下Lua代码片段:
lua-- 假设Lua文件内容如下local function test1() print(Test 1)end
function test2() print(Test 2)end
-- 以下Lua代码将遍历当前文件的所有函数,并打印其名称local function listFunctions() local functionVisitor=function(self, name, env) if type(self)==table and name then print(name) end end
local function scan(env) local envType=type(env) if envType==table then for key, value in pairs(env) do scan(value) end elseif envType==function then local fnName=getinfo(env).name if fnName then functionVisitor(fnName, env) end end end
scan(_G)end
listFunctions()
运行这段代码,将会输出当前Lua源文件中定义的所有函数名。

