跟C语言一样,有字母数字下划线3个元素组合,不能以数字开头,下面这些命名都是合法的
i, j, i10, _ij, aSomewhatLongName, _INPUT
注意最后一个_INPUT,在Lua中要尽量避免使用以下划线"_"开头,后面跟大写字母的命名,因为这些通常会作为保留字有特殊用途。
Lua是大小写敏感的,例如name与Name就绝对是不等的。
Lua保留字列表
and break do else elseif end false for function if in local nil not or
repeat return then true until while
单行注释:-- 开始到行尾
多行注释:--[[开始,到 ]] 结束。
多行注释掉妙用
--[[
statements......
--]]
在需要打开整个注释掉时候,可以简单地在第一行前加一个“-”就可以了,这样标识注释起始和结束位置的行就分别变成了单行注释,如下
---[[
statements.......
--]]
全局变量不需要声明,你只需要给他一个值来创建它。访问一个未初始化的变量是合法的,只是结果会是nil
上图中的最后两句,删除一个全局变量b,在 b = nil 这一句之后,b对lua来说,就是不存在的变量了。换句话说,lua的全局变量只有在它的值不为nil时存在。
lua的解析器如果加载了一个文件,文件第一行为#开头,那么第一行会被忽略掉。这个特性保证了Lua在Unix系统下的正常运行,例如
#!/usr/local/bin/lua or #!/usr/bin/env lua
Lua 的用法
lua [options] [script [args]]
everything都是可选的。如前面我们看到的,如果我们不带任何参数和选项去执行lua,那么会进入交互模式。
-e选项,运行用户在命令行中直接写脚本语句
-i 选项,进入交互模式,
利用全局变量_PROMPT来改变交互模式的提示符
提示符变成了CARL_LUA>
代码如下:
print("arg[-3]=" , arg[-3]) print("arg[-2]=" , arg[-2]) print("arg[-1]=" , arg[-1]) print("arg[0]=" , arg[0]) print("arg[1]=" , arg[1]) print("arg[2]=" , arg[2])
运行结果如下,注意索引的对应值,基本就是.lua文件为0,往后++,往前--