Lua 中是否有一个全局变量包含当前正在解释的文件的路径?类似于 Python 的 __file__
多变的?
我跑了快 for k, v in pairs(_G) do print(k) end
在解释器中,看看我是否能找到任何东西。只列出了以下变量?string xpcall package tostring print os unpack require getfenv setmetatable next assert tonumber io rawequal collectgarbage getmetatable module rawset math debug pcall table newproxy type coroutine _G select gcinfo pairs rawget loadstring ipairs _VERSION dofile setfenv load error loadfile
关于如何获取当前正在执行的文件路径的任何建议?
最佳答案
调试库有一个 getinfo
您可以调用的方法,它可以返回函数的源文件等。
local info = debug.getinfo(1,'S');
print(info.source);
这将在调用堆栈的第一级返回函数的源文件的名称(它将以@ 符号开头,表示它是一个文件名)。路过
1
您正在询问有关当前功能的信息。如果您通过 0
它会返回 =[C]
因为它会返回有关 getinfo
的信息功能本身。有关更多详细信息,请查看
Programming in Lua
Lua官方网站上的引用:http://www.lua.org/pil/23.1.html
关于module - Lua 全局变量包含当前文件的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21416798/