forEach: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) (see also) |
No edit summary |
||
Line 65: | Line 65: | ||
[[Category:Scripting Commands Arma 3|{{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}}}}]] | ||
<!-- CONTINUE Notes --> | |||
<dl class="command_description"> | |||
<dd class="notedate">Posted on August 29, 2014 - 22:23 (UTC)</dd> | |||
<dt class="note">[[User:Fett Li|Fett Li]]</dt> | |||
<dd class="note"> | |||
It's not true that ''forEach'' has no return value. | |||
The last passed value of the ''forEach-loop'' will be the return value. For example: | |||
<pre>_var = {_x} forEach [1,2,3];</pre> | |||
_var will be 3. | |||
You also can use ''if BOOL exitWith CODE'' to assign any return value. | |||
</dd> | |||
</dl> | |||
<!-- DISCONTINUE Notes --> |
Revision as of 23:23, 29 August 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
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
- Posted on August 29, 2014 - 22:23 (UTC)
- Fett Li
-
It's not true that forEach has no return value.
The last passed value of the forEach-loop will be the return value. For example:
_var = {_x} forEach [1,2,3];
_var will be 3.
You also can use if BOOL exitWith CODE to assign any return value.
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