前情提要:
命令行参数
命令行参数存储在arg
表中,假定你有一个foo.lua
脚本:
print(arg[-1], arg[0])
for i, v in ipairs(arg) do print(v) end
假设我们运行lua foo.lua arg1 arg2 arg3
,输出为:
lua foo.lua
arg1
arg2
arg3
文件中的...
由于文件以函数的方式加载,所以我们可以用上...
。假定bar.lua
内容如下:
print(...) -- 输出所有传递给该文件函数的参数
以如下语句加载:
loadfile("bar.lua")(1, 2, 3, 4)
输出为1 2 3 4
.
dofile
不发送参数,require
发送给定的路径:
require("bar") -- "bar"
require("folder.subfolder.bar") -- "folder.subfolder.bar"
如果你运行lua bar.lua arg1 arg2 arg3
,会输出arg1 arg2 arg3
。
_G
里面存了所有的全局变量:
a = 3
print(_G.a) -- 3
_G.b = 4
print(b) -- 4
print(_G._G == _G) -- true
原文 Lua for Programmers Part 4: Tips and Tricks
翻译 SegmentFault
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。