lua关键字

来源:互联网 发布:linux exp continue 编辑:程序博客网 时间:2024/05/21 22:32

1.require

1.查找顺序

  • 1.先去 package.loaded 表查找,如果有直接返回 package.loaded[‘xxx’] 对应的 value
  • 2.在 package.preload 查找’xxx’, 如果 preload 存在,那么就把它作为 loader,调用loader(L)
  • 3.在 package.path 路径下查找,可以打印 package.path ,查找过程 ‘?’ 用 ‘xxx’ 替换
'/usr/local/share/lua/5.2/?.lua;/usr/local/share/lua/5.2/?/init.lua;/usr/local/lib/lua/5.2/?.lua;/usr/local/lib/lua/5.2/?/init.lua;./?.lua'  a.'/usr/local/share/lua/5.2/xxx.lua'  b.'/usr/local/share/lua/5.2/xxx/init.lua'  c. ... 按照顺序替换查找直到找到位置
  • 4.package.cpath 查找c库
  • 5.都没有找打报错

2.例子

例子文件

./main.lua、./test1.lua、./test2.lua、./test3.lua、./test4.lua

main.lua

require 'test1.lua'require 'test2.lua'require 'test3.lua'require 'test4.lua'print(package.loaded['test1'])  -- 打印 trueprint(package.loaded['test2'])  -- 打印 'test2'print(package.loaded['test3'])  -- 打印 333print(package.loaded['test4'])  -- 打印 444

test1.lua 没有返回值

print(' test1 调用')

test2.lua 没有返回值

print(' test2 调用')package.loaded['test2'] = 'test2'

test3.lua 有返回值

print(' test3 调用')return 333

test4.lua 有返回值

print(' test4 调用')package.loaded['test4'] = 'test4'return 444
原创粉丝点击