Lua Require function on a full path name

2019-02-16 10:22发布

I need to call the require on a lua file that will not always be in the same place. I was trying to call require on the full path name but that doesn't seem to be working either. I even tried replacing one of my working normal requires with a correct full path name to the same file

example changing require "foo" to require "C:\Users\Me\MyLuaProject\foo"

but when i switched it to the full path name it could no longer find it. So I am wondering if you can even call require on a full path and if not how would i achieve the same result differently?

标签: path lua require
2条回答
我命由我不由天
2楼-- · 2019-02-16 11:07

Add the directory containing the file to package.path:

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

You can also add it to the LUA_PATH environment variable, but this is probably less easy to modify on the fly.

A common pattern for modules is to have abc.lua and abc/xyz.lua; to require files in a subdirectory like that, use the following:

require "abc"
require "abc.xyz"
查看更多
爱情/是我丢掉的垃圾
3楼-- · 2019-02-16 11:19

If you just need to load a file, use dofile, which takes a path:

dofile("C:\\Users\\Me\\MyLuaProject\\foo")
查看更多
登录 后发表回答