5. Lua中的一种习惯写法:
local foo = foo; 全局赋值局部,加快当前作用域中对foo的访问
6. 控制结构
a = 10;
if a>0 then
print(">0");
else
print("<0");
end;
local i=10;
while i>0 do
print(i);
i = i -1;
end;
-- repeat 至少执行一次
repeat
line = io.read();
until line =="";
print(line);
7. for 循环:数字型 和 泛型
数字型: for var = exp1, exp2, exp3 do ... end
var 从 exp1 到 exp2 ,步长为 exp3 (可选,默认为1)
不想给循环设置上限的话,可以使用常量 math.huge
细节:for 的3个表达式仅在循环前执行一次,其次,控制变量会被自动声明为局部变量,循环结束不再可见
for i=1, math.huge do
if (i>100) then
print(i);
end;
end;
泛型for 的简单示例
-- ipairs 打印数组a的所有值
a={"Sun","Mon"};
for i,v in ipairs(a) do
print(v);
end;
-- i是索引值,v是i对应的元素值
-- pairs 打印key
for k in pairs(a) do
print(k);
end;