确定模块文件位置

gam*_*int 4 lua

在Lua中加载模块后,我想确定它对应的模块文件。在 python 中,您可以使用如下代码来执行此操作:

import module_name
module_name.__file__
Run Code Online (Sandbox Code Playgroud)

所以在 Lua 中如果我做类似的事情

require 'math'
Run Code Online (Sandbox Code Playgroud)

接下来我该放什么来确定该模块的位置?顺便说一句,我实际上并不需要 math 的位置,而是下载了一些其他第三方包,并且想知道当我调用 Lua 时实际使用的构建文件的副本。

Mud*_*Mud 6

图书馆package可能会为您提供所需的东西。

例如,如果util.lua我的 Lua 路径中有这样的内容,我可以这样写:

require 'util'
Run Code Online (Sandbox Code Playgroud)

我可以像这样获取文件的路径:

print(package.searchpath('util', package.path))
Run Code Online (Sandbox Code Playgroud)

  • 在 lua 5.1 中 `package.searchpath` 不存在。 (3认同)
  • @gammapoint:“数学”不是一个普通的包。它是[Lua 的一部分的包](http://www.lua.org/manual/5.2/manual.html#6.6)。它没有位置;它是预加载的。这是一个内部模块。使用外部模块尝试一下。 (2认同)