1 1). if then else 2 if a < 0 then 3 b = 0 4 else 5 b = 1 6 end
1 2). if elseif else then 2 if a < 0 then 3 b = 0 4 elseif a == 0 then 5 b = 1 6 else 7 b = 2 8 end
1 3). while 2 local i= 1 3 while a[i] do 4 print(a[i]) 5 i = i + 1 6 end
1 4). repeat 2 repeat 3 line = io.read() 4 until line ~= "" --直到until的条件为真时结束。 5 print(line)
1 5). for 2 for var = begin, end, step do --如果没有step变量,begin的缺省步长为1。 3 i = i + 1 4 end 5 --需要说明的是,for循环开始处的三个变量begin、end和step,如果它们使表达式的返回值,那么该表达式将仅执行一次。再有就是不要在for的循环体内修改变量var的值,否则会导致不可预知的结果。
1 6). foreach 2 for i, v in ipairs(a) do --ipairs是Lua自带的系统函数,返回遍历数组的迭代器。 3 print(v) 4 end 5 6 for k in pairs(t) do --打印table t中的所有key。 7 print(k) 8 end
1 7). break 2 --和C语言中的break语义完全相同,即跳出最内层循环。