语句
赋值
- 修改变量的值
1 2
| a = "hello" .. "world" print(a)
|
- 修改table的值
可以根据key来修改table中对应的value值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| t = {} t.n = 1 t.n = t.n+1 print(t.n) ``` 3. 多重赋值 如果要初始化一组变量,应该为每个变量提供一个值 ```lua
c ,d = 10 , 20 print(c , d)
x , y = 100 , 200 x,y = y,x print(x,y)
e,f,g = 1,2 print(e,f,g)
|
局部变量与块
局部变量的作用域仅限于它们声明的块。所声明的局部变量的作用域从声明语句开始,直至所在块的结尾。
尽可能的使用局部变量,局部变量可以避免将一些无用的名称引入全局环境中。此外,访问局部变量比访问全局变量快。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
x = 10
local i = 1
while i < x do local x = i*10 print("test" .. i .. " " .. x) i = i+1 end
if i > 20 then local x x = 20 print(x+2) else print(x) end
print(x)
|
声明的语句可以包含初始化赋值,额外的值会被丢弃,额外的变量会被赋予nil。
1 2 3 4 5 6 7 8 9 10
| local a , b = 1 , 10
if a < b then print(a) local a print(a) end
print(a , b)
|
在lua中局部变量有一个习惯写法
1 2 3
| foo = 1 local foo = foo print(foo)
|
控制结构