forEach: Difference between revisions

From Bohemia Interactive Community
Line 61: Line 61:
[[Category:Command_Group:_Program_Flow|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_Program_Flow|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]

Revision as of 11:52, 25 March 2013

Hover & click on the images for description

Description

Description:
Executes the given command(s) on every item of an array. The array items are represented by _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
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.
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