FOR EACH
FOR EACH Variable IN Expression
...
NEXT
Ripete un ciclo mentre si enumera un oggetto.
Expression deve essere un riferimento a un oggetto enumerabile: ad esempio una collezione o una matrice.
Il ciclo
Variable deve essere una variabile locale o un argomento della funzione corrente.
Dichiarazione della variabile del ciclo
Dal 3.12
La variabile del loop può essere dichiarata direttamente seguendo questa sintassi:
FOR EACH Variable AS Datatype IN Expression
...
NEXT
L'ambito della variabile del loop è ancora a livello di funzione. In altre parole, dichiarare la variabile di loop in questo modo ha lo stesso effetto di dichiararla all'inizio della funzione, tranne che è possibile utilizzarla solo dopo la dichiarazione.
È possibile dichiarare la stessa variabile del loop quante volte si vuole purché la dichiarazione sia la stessa.
Esempi
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
Or
DIM Dict AS NEW Collection
Dict["Blue"] = 3
Dict["Red"] = 1
Dict["Green"] = 2
FOR EACH Element As String IN Dict
PRINT Element;;
NEXT
FOR EACH (2)
FOR EACH Expression
...
NEXT
Questa sintassi deve essere utilizzata quando
Expression è un oggetto enumerabile che non è un contenitore reale: ad esempio, il risultato di una query di database.
Esempio
DIM Res AS Result
Res = DB.Exec("SELECT * FROM MyTable")
FOR EACH Res
PRINT Res!Code; " "; Res!Name
NEXT
L'ordine di enumerazione non è necessariamente prevedibile. Vedi la documentazione di ogni classe enumerabile per maggiori dettagli su questo.
Vedi anche