Foreach
The foreach construct is used to iterate over vectors and maps.
Syntax
foreach(value_variable; container; loop_increment) {
// some_code;
}
Parts
- value_variable is the value of the current container element.
- container is a vector or a map.
- loop_increment is executed at the end of each iteration.
On each iteration, the value of the current element is assigned to value_variable and the internal container cursor is moved to point at the next container element. The type of value_variable doesn't matter. loop_increment is optional.
Modifications of elements inside the foreach block affect the container; synchronization occurs at the end of each iteration.
Examples
- For each vector element:
The example displays the following:
int vector[4] = ( 1, vec3(1,2,3), -7.2e-2, "end" ); foreach(int i; vector) { log.message("%s\n",typeinfo(i)); }
int: 1 vec3: 1 2 3 float: -0.072 string: "end"
- For each map element:
The result is:
int map[] = ( 1 : "begin", 2 : 2, 3 : "end" ); foreach(int i; map) { log.message("%s\n",typeinfo(i)); }
string: "begin" int: 2 string: "end"
- Increment:
The output is:
foreach(int i, j = 0; vector; j++) { log.message("%d: %s\n",j,typeinfo(i)); }
0: int: 1 1: vec3: 1 2 3 2: float: -0.072 3: string: "end"
Last update: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)