lua变量
变量在使用之前必须进行声明,也就是创建该变量,其本质就是给语句变量开辟存储区,用于存储变量的值。
lua变量有三种类型:全局变量、局部变量、表中的域。Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。局部变量的作用域为从声明位置开始到所在语句块结束。变量的默认值均为 nil。
应该尽可能的使用局部变量,有两个好处:
1. 避免命名冲突。
2. 访问局部变量的速度比全局变量更快。
a = 5 ------>全局变量
local b = 5 ------>局部变量
function fun1()
c = 5 ------->全局变量
local d = 6 ---------->局部变量
end
func1()
print(a,b,c,d) --------->5 5 5 nil
变量赋值
在lua中赋值操作是改变变量的值和改变表域的基本方法。可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。
a,b = 10 ,20 --------> a = 10;b=20
遇到赋值语句Lua会先计算右边所有的值然后再执行赋值操作,所以我们可以这样进行交换变量的值:
x ,y = 11,22 ------->x = 11,y = 22
x,y = y,x ------->x = 22,y = 11
当变量个数和值的个数不一致时,Lua会以变量个数为基础采取以下方式:
a. 变量个数 > 值的个数 按变量个数补足nil
b. 变量个数 < 值的个数 多余的值会被忽略
a ,b ,c = 10, 12 -------> a=10,b=12,c= nil
a,b = 1,2,3 -------> a = 1,b=2
注意:如果要对多个变量赋值必须依次对每个变量赋值。
a, b, c = 0, 0, 0
print(a,b,c) --> 0 0 0
a, b, c = 0
print(a,b,c) --> 0 nil nil
lua索引
lua索引的操作主要是针对的是table(表),可以通过方括号[]。lua也提供了.操作。在这里我先提一下lua的索引操作,随着后边的学习与运用,我们会逐渐加深理解。
site = {}
site["key"] = "www.w3cschool.cc"
print(site["key"]) ---------> www.w3cschool.cc
print(site.key) ---------> www.w3cschool.cc