forEach: Difference between revisions
Jump to navigation
Jump to search
Fred Gandt (talk | contribs) m (<pre> to <code> plus linking to Magic Variables plus tidied note) |
(formatting, syntax: string -> code (not sure about exact version/game, but better than before)) |
||
Line 9: | Line 9: | ||
| Executes the given command(s) on every item of an array. | | Executes the given command(s) on every item of an array. | ||
The array items are represented by the [[Magic Variables|magic variable]] '''_x'''. The array indices are represented by '''_forEachIndex'''. | <br>The array items are represented by the [[Magic Variables|magic variable]] '''_x'''. The array indices are represented by '''_forEachIndex'''. | ||
In ArmA2 & VBS2, the variable _x is always local to the forEach block so it is safe to nest them. | In ArmA2 & VBS2, the variable _x is always local to the forEach block so it is safe to nest them. | ||
Line 17: | Line 17: | ||
| command '''forEach''' array |= Syntax | | command '''forEach''' array |= Syntax | ||
|p1= command: [[String]] |= Parameter 1 | |p1= command: [[String]] (only in {{ofp}}), [[Code]] (since {{arma}}) |= Parameter 1 | ||
|p2= array: [[Array]] |= Parameter 2 | |p2= array: [[Array]] |= Parameter 2 | ||
Line 30: | Line 30: | ||
|x3= You can also use multiple commands in the same block. | |x3= You can also use multiple commands in the same block. | ||
<code>{_x [[setCaptive]] [[true]]; [[removeAllWeapons]] _x; [[doStop]] _x;} [[forEach]] [[units]] [[group]] [[this]]</code> |= Example 3 | <code>{_x [[setCaptive]] [[true]]; [[removeAllWeapons]] _x; [[doStop]] _x;} [[forEach]] [[units]] [[group]] [[this]];</code> |= Example 3 | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
Revision as of 10:11, 19 March 2014
Description
- Description:
- Executes the given command(s) on every item of an array.
The array items are represented by the magic variable _x. The array indices are represented by _forEachIndex. In ArmA2 & VBS2, the variable _x is always local to the forEach block so it is safe to nest them. - Groups:
- Uncategorised
Syntax
- Syntax:
- command forEach array
- Parameters:
- command: String (only in Operation Flashpoint), Code (since Arma)
- array: Array
- Return Value:
- Nothing
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 Arma 3
- Scripting Commands Take On Helicopters