需要一个在lua中具有不同文件名的包

时间:2015-11-16 21:19:39

标签: lua torch

我对Lua很新,请原谅这个迟钝的问题。

关注this tutorial我尝试将DeepMind dqn导入iTorch笔记本。

我克隆了this repo,其中包含源代码所在的名为dqn的文件夹。

我已添加dqn文件夹

的路径
package.path = package.path .. ";/path/to/dqn/?.lua"

当我尝试

require 'dqn'

我获得了(预期的)错误,因为文件夹中没有名为dqn.lua的文件。事实上,这种模块的源代码包含在文件NeuralQLearner.lua中。

我看到documentation暗示了文件和包名之间的问题。

所以我的问题是:如何正确导入此模块?我怎么能让Lua知道dqn它应该实际寻找NeuralQLearner.lua(没有硬编码到我猜的路径中)?

1 个答案:

答案 0 :(得分:0)

诀窍是:

if not dqn then
    require 'initenv'
end

输入每个文件。然后,initenv文件将定义dqn应该表示的内容。一旦initenv的路径为package.path,这似乎是克服限制的好方法。