lua中自定义加载lua的path

有两个方法:
一种方法是在lua源码中扩展宏:
在这里插入图片描述

#define LUA_PATH_DEFAULT  \
		LUA_LDIR"?.lua;"  LUA_LDIR"?\\init.lua;" "E:\\OGL5\\c++calllua\\luascript\\?.lua;"  \
		LUA_CDIR"?.lua;"  LUA_CDIR"?\\init.lua;" \
		LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \
		".\\?.lua;" ".\\?\\init.lua" \

第二种方法是在:lua中追加path
在这里插入图片描述

这种方法要求的是:
1.这里的hello.lua文件在能找到的目录里
在这里插入图片描述
这里的确保入口文件hello.lua能够找到,然后在hello.lua中通过代码:

print(package.path)
package.path = package.path .. ";E:\\OGL5\\c++calllua\\luascript\\?.lua;"
print("hello")
print(package.path)

require 'person'

c = add(1,4)
print(c)

package.path = package.path … “;E:\OGL5\c++calllua\luascript\?.lua;”
这句代码,增加lua寻找脚本的路径。

经过上面的扩展路径之后:

E:\OGL5\c++calllua\c++calllua\Debug\lua\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\lua\?\init.lua;
E:\OGL5\c++calllua\c++calllua\Debug\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\?\init.lua;
E:\OGL5\c++calllua\c++calllua\Debug\..\share\lua\5.3\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\..\share\lua\5.3\?\init.lua;.\?.lua;.\?\init.lua
hello
E:\OGL5\c++calllua\c++calllua\Debug\lua\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\lua\?\init.lua;
E:\OGL5\c++calllua\c++calllua\Debug\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\?\init.lua;
E:\OGL5\c++calllua\c++calllua\Debug\..\share\lua\5.3\?.lua;
E:\OGL5\c++calllua\c++calllua\Debug\..\share\lua\5.3\?\init.lua;.\?.lua;.\?\init.lua;
E:\OGL5\c++calllua\luascript\?.lua;;

可以看到最后一行已经追加了搜索的路径了。

Guess you like

Origin blog.csdn.net/wodownload2/article/details/120367451