Lua 标识符
程序设计语言中的标识符主要包含保留字、变量、常量、方法名、函数名、类名等; Lua 的标识符由字母、数字与下划线组成,但不能以数字开头, 且 Lua 是大小写敏感的;
保留字
Lua 常见的保留字共有22个, 除了这22个之外,Lua中还定义了许多内置的全局变量,这些全局变量的共同特征是:以下划线开头后跟全大写的字符; 常见的22个保留字如下:
and | break | do | else |
elseif | end | false | for |
function | if | in | local |
nil | not | or | repeat |
return | then | true | until |
while | goto |
变量
Lua 是弱类型语言, 变量无需类型声明即可直接使用, 变量分为全局变量与局部变量;
Lua 的变量默认都是全局变量, 即使声明在语句块或函数里, 全局变量一旦声明, 在当前文件中的任何地方(声明变量语句之前不可访问)都可访问; 局部变量 local 相当于 Java 中的 private 变量, 只能声明在语句块中使用;
示例
lua
-- variable_test.lua
-- 定义一个局部变量
local x = 3
-- 定义一个函数
function f()
-- 全局变量
y = 5
-- 局部变量
local z = 8
-- 尝试访问局部变量
-- 因为 x 在函数外部全局代码块中定义 类似于全局变量
print("x = " .. x) -- lua 中通过 .. 进行字符串的连接
end
-- 调用函数
f()
-- 访问全局变量y
print("y = " .. y)
-- 访问局部变量z
print("z = " .. z) -- 此时会出现报错
没有访问z局部变量时,可以正常运行脚本文件,当试图访问全局变量时,则会出现如下报错信息:
动态类型
Lua 是动态类型语言, 变量的类型可以随时改变, 不需要进行声明; 如下所示:
lua
-- 全局变量
y = 5
-- 访问全局变量y
print("y = " .. y)
y = "北京"
print("重新赋值 y = " .. y)
变量y由数值类型转变为字符串类型, 而不需要进行特别声明;