FOR EACH
FOR EACH Variable IN Expression
...
NEXT
利用对象的枚举控制循环。
Expression必须是枚举对象的引用。例如,一个集合或者数组。
循环
Variable 必须是局部变量或当前函数的参数。
循环变量声明
自从 3.12
循环变量可以通过以下语法直接声明:
FOR EACH Variable AS Datatype IN Expression
...
NEXT
循环变量的作用域仍然是函数范围的。换句话说,以这种方式声明循环变量与在函数开头声明循环变量具有相同的效果,只是只能在声明之后使用它。
只要声明相同,就可以随时声明相同的循环变量。
示例
DIM Dict AS NEW Collection
DIM Element AS String
Dict["Blue"] = 3
Dict["Red"] = 1
Dict["Green"] = 2
FOR EACH Element IN Dict
PRINT Element;
NEXT
FOR EACH (2)
FOR EACH Expression
...
NEXT
当
Expression 是枚举对象且非真正容器时,使用该语法。例如,Expression是数据库的查询结果。
示例
DIM Res AS Result
Res = DB.Exec("SELECT * FROM MyTable")
FOR EACH Res
PRINT Res!Code; " "; Res!Name
NEXT
枚举的顺序不一定是一成不变的。更多细节请看每个枚举类的文档。
参见