Lua global variable containing path to current file?

后端 未结 3 399
北荒
北荒 2021-01-12 15:37

Is there a global variable in Lua that contains the path to the file currently being interpreted? Something like Python\'s __file__ variable?

I ran a qu

3条回答
  •  余生分开走
    2021-01-12 16:30

    The debug library has a getinfo method you can call, which can return, amongst other things, the source file for a function.

    local info = debug.getinfo(1,'S');
    print(info.source);
    

    That would return the name of the source file (which will begin with an @ symbol, indicating it is a filename) of the function at the first level of the call stack. By passing 1 you are asking for information about the current function. If you passed in 0 it would return =[C] as it would be returning information about the getinfo function itself.

    For more detailed information check out the Programming in Lua reference on the official Lua website: http://www.lua.org/pil/23.1.html

提交回复
热议问题