第一版是为 Lua 5.0 编写的。虽然对于后续版本来说仍然非常相关,但有一些差异。
第四版针对 Lua 5.3,可在 Amazon 和其他书店购买。
购买本书,您还可以帮助支持 Lua 项目。
Lua 编程 | ||
第一部分。语言 第 4 章。语句 |
for 语句有两种变体:数字 for 和通用 for。
数字 for 具有以下语法
for var=exp1,exp2,exp3 do something end该循环将针对
var
的每个值从 exp1
到 exp2
执行 something
,使用 exp3
作为增量 var
的步长。第三个表达式是可选的;当不存在时,Lua 将 1 作为步长值。作为此类循环的典型示例,我们有
for i=1,f(x) do print(i) end for i=10,1,-1 do print(i) end
for 循环有一些细微差别,您应该学习它们以便充分利用它。首先,在循环开始之前,所有三个表达式都将被评估一次。例如,在第一个示例中,f(x)
只会被调用一次。其次,控制变量是 for 语句自动声明的一个局部变量,并且仅在循环内可见。一个典型的错误是假设该变量在循环结束后仍然存在
for i=1,10 do print(i) end max = i -- probably wrong! `i' here is global如果您需要循环后的控制变量值(通常是在您中断循环时),您必须将此值保存到另一个变量中
-- find a value in a list local found = nil for i=1,a.n do if a[i] == value then found = i -- save value of `i' break end end print(found)第三,您永远不应该更改控制变量的值:此类更改的影响是不可预测的。如果您想在正常终止之前中断 for 循环,请使用 break。
版权所有 © 2003–2004 Roberto Ierusalimschy。保留所有权利。 |