3

前情提要:

Lua基础

Lua数据结构与标准库简介

Lua的函数和作用域

命令行参数

命令行参数存储在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


思否编辑部
4.3k 声望116.9k 粉丝

思否编辑部官方账号,欢迎私信投稿、提供线索、沟通反馈。


引用和评论

1 篇内容引用
0 条评论