Lua 中的一个 变量 在程序中都有一定的作用范围,我们称之为作用域。Lua 变量有三种类型:全局变量、局部变量、表中的域。
Lua 中的变量全是全局变量,哪怕是语句块或是函数里,除非用 local 显式声明为局部变量。
局部变量的作用域为从声明位置开始到所在语句块结束。
lua 中默认全是全局变量
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
a = 1024
function pi()
pi = 3.14159
name = "haicoder"
end
pi()
print("a =", a, "pi =", pi, "name =", name)
程序运行后,控制台输出如下:
我们首先定义了一个全局变量 a,接着在函数里面也定义了两个全局变量,分别为 pi 和 name,我们可以看到,虽然变量 pi 和 name 是定义在函数里面的,但我们在函数外部一样可以访问,因为这两个变量也是全局变量。
在 lua 中,变量默认都是全局变量,不论其定义的位置。
在 lua 中,定义局部变量需要使用 local 关键字
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
local a = 1024
function pi()
pi = 3.14159
local name = "haicoder"
end
pi()
print("a =", a, "pi =", pi)
print("name =", name)
程序运行后,控制台输出如下:
在 lua 中,定义局部变量使用 local 关键字,我们可以看到,我们在函数里面定义了局部变量 name,在函数外部访问,结果为 nil。
Lua 中的一个变量在程序中都有一定的作用范围,我们称之为作用域。Lua 变量有三种类型:全局变量、局部变量、表中的域。
Lua 中的变量全是全局变量,哪怕是语句块或是函数里,除非用 local 显式声明为局部变量。局部变量的作用域为从声明位置开始到所在语句块结束。