- 论坛徽章:
- 5
|
回复 18# 群雄逐鹿中原
最好还是require,这个能去重,就是说载入多次算一次。而且写起来比较方便。
路径的话,教你一个办法,就是添加新的loader。你在很基础的地方找个地方写这么一个函数:
- local function load_local_file(name)
- local CUR_DIR = debug.getinfo(3).source:gsub("^@", ""):gsub("[^\\\/]*$", ""):gsub("[^\\\/]$", "%1\\")
- local f, errmsg = loadfile(CUR_DIR..name..".lua")
- return f or errmsg
- end
- package.loaders[#package.loaders+1] = load_local_file
复制代码 要熟悉你们用的语言………………要熟悉你们用的语言………………你说我该怎么说好……上面的函数一写,你立刻就可以用 require "foo"去载入同目录下的foo文件了。
问题是,你为什么要这么做呢?明明Lua的require可以要求你将代码很好的组织到各个子目录,然后在require指定子目录,是天生让你组织源代码的,你为什么非要简便,去require本地的文件呢?你是在写Lua还是在写C呢?。
任何把Lua当作其他语言写的方式都会导致糟糕的设计。 |
|