- 赋值
多重赋值:
一次性将多个值赋予多个变量, 每个值或每个变量之间以逗号分隔。
例如:
a, b = 10, 2 * x --> a = 10, b = 2 * x
多重赋值用于变量交换
x, y = y, x 交换x与y
等号右边值个数调整到与左边变量的个数相一致。
规则: 若值得个数少于变量的个数, 那么多余的变量会被赋为nil。 若值更多, 则多余的值被舍弃。
a, b, c = 0, 1
print(a, b, c) --> 0 1 nil
a, b = a + 1 , b + 1 , b + 2 -- 其中b + 2被忽略
print(a, b) --> 1 2
a, b ,c = 0
print(a, b, c ) --> 0 nil nil
其他同C语言
- 局部变量与块(block)
j = 10 全局变量
local i = 1 局部变量
- 控制结构
- if then else
- while 同C 不过结尾加end
- repeat until ( 同do while)
- 数字型for
for var = exp1, exp2, exp3 do
<执行体>
end
如果不指定exp3, 默认步长为1
- 泛型for
通过一个迭代器(iterator)函数来遍历所有值。
for i,v in ipairs(a) do printf(v) end
todo
- break与return
todo
- 控制结构中的表达式可以是任何值, Lua将所有不是false和nil的值视为"真“