forEach: Difference between revisions
Jump to navigation
Jump to search
m (Spelling error) |
(rm note re. performance, add. note re. arrays) |
||
Line 7: | Line 7: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Executes the given command(s) on every item of an array. The array items are represented by _x. | | Executes the given command(s) on every item of an array. The array items are represented by _x. | ||
In ArmA2, the variable _x is always local to the | |||
In ArmA2 & VBS2, the variable _x is always local to the forEach block so it is safe to nest them. | |||
|= Description | |= Description | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
Line 21: | Line 22: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|x1= <pre>{_x setdammage 1} forEach units group player</pre> | |x1= <pre>{_x setdammage 1} forEach units group player</pre> |= Example 1 | ||
|x2= This command can also easily be used to execute a single command multiple times without respect to the array items. | |||
<pre>{player addMagazine "M16"} forEach [1,2,3,4]</pre> |= Example 2 | |||
|x3= You can also use multiple commands in the same block. | |||
<pre>{_x setCaptive true; removeAllWeapons _x; doStop _x;} forEach units group this</pre> |= Example 3 | |||
| | |||
<pre>{_x setCaptive true; removeAllWeapons _x; doStop _x;} forEach units group this</pre> |= Example | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
Line 41: | Line 39: | ||
<!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
<dd class="notedate">Posted on July 20, 2010</dd> | |||
<dt class="note">'''[[User:Kronzky|Kronzky]]'''</dt> | |||
<dd class="note"> | |||
If arrays are used in forEach loops, _x uses them by reference, so any changes to _x will be applied to the original: | |||
_arr1 = [1,2,3]; | |||
_arr2 = [6,7,8]; | |||
{_x set [1,"x"]} forEach [_arr1,_arr2]; | |||
will change _arr1 to [1,"x",3], and _arr2 to [6,"x",8]. | |||
</dd> | |||
<!-- Note Section END --> | <!-- Note Section END --> | ||
</dl> | </dl> |
Revision as of 18:06, 20 July 2010
Description
- Description:
- Executes the given command(s) on every item of an array. The array items are represented by _x. In ArmA2 & VBS2, the variable _x is always local to the forEach block so it is safe to nest them.
- Groups:
- Uncategorised
Syntax
Examples
- Example 1:
{_x setdammage 1} forEach units group player
- Example 2:
- This command can also easily be used to execute a single command multiple times without respect to the array items.
{player addMagazine "M16"} forEach [1,2,3,4]
- Example 3:
- You can also use multiple commands in the same block.
{_x setCaptive true; removeAllWeapons _x; doStop _x;} forEach units group this
Additional Information
- See also:
- countControl Structures
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Notes
- Posted on July 20, 2010
- Kronzky
- If arrays are used in forEach loops, _x uses them by reference, so any changes to _x will be applied to the original: _arr1 = [1,2,3]; _arr2 = [6,7,8]; {_x set [1,"x"]} forEach [_arr1,_arr2]; will change _arr1 to [1,"x",3], and _arr2 to [6,"x",8].
Bottom Section
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.00
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Command Group: Uncategorised
- Scripting Commands OFP 1.96
- Scripting Commands OFP 1.46
- Scripting Commands ArmA
- Command Group: Program Flow
- Scripting Commands ArmA2
- Scripting Commands VBS2