【问题标题】:Lua Require function on a full path nameLua Require 函数对完整路径名
【发布时间】:2012-08-05 19:38:48
【问题描述】:

我需要在一个不会总是在同一个地方的 lua 文件上调用 require。我试图在完整的路径名上调用 require ,但这似乎也不起作用。我什至尝试用相同文件的正确完整路径名替换我的正常工作要求之一

示例更改 需要“富” 到 需要 "C:\Users\Me\MyLuaProject\foo"

但是当我将它切换到完整路径名时,它再也找不到它了。所以我想知道您是否甚至可以在完整路径上调用 require ,如果不能,我将如何以不同的方式实现相同的结果?

【问题讨论】:

    标签: path lua require


    【解决方案1】:

    将包含该文件的目录添加到package.path

    package.path = package.path .. ";C:\\Users\\Me\\MyLuaProject"
    require "foo"
    

    您也可以将其添加到 LUA_PATH 环境变量中,但这可能不太容易即时修改。

    模块的常见模式是拥有 abc.lua 和 abc/xyz.lua;要在这样的子目录中要求文件,请使用以下内容:

    require "abc"
    require "abc.xyz"
    

    【讨论】:

    • 我不得不添加一个问号作为一个野生案例:package.path = package.path .. ";/path/to/module/?.lua" 但也许它是一个 linux 的东西跨度>
    【解决方案2】:

    如果你只需要加载一个文件,使用dofile,它需要一个路径:

    dofile("C:\\Users\\Me\\MyLuaProject\\foo")
    

    【讨论】:

      猜你喜欢
      • 2012-04-01
      • 2014-09-02
      • 2014-06-11
      • 1970-01-01
      • 2018-12-21
      • 2010-12-16
      • 2011-12-11
      • 2011-06-08
      • 2014-10-29
      相关资源
      最近更新 更多