Skip to content

Lua 标识符

程序设计语言中的标识符主要包含保留字、变量、常量、方法名、函数名、类名等; Lua 的标识符由字母数字下划线组成,但不能以数字开头, 且 Lua 是大小写敏感的;

保留字

Lua 常见的保留字共有22个, 除了这22个之外,Lua中还定义了许多内置的全局变量,这些全局变量的共同特征是:以下划线开头后跟全大写的字符; 常见的22个保留字如下:

andbreakdoelse
elseifendfalsefor
functionifinlocal
nilnotorrepeat
returnthentrueuntil
whilegoto

变量

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由数值类型转变为字符串类型, 而不需要进行特别声明;