while: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "Posted on May ([0-9]{1,2}), (20[0-9]{2})" to "Posted on $2-05-$1") |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
Line 24: | Line 24: | ||
|gr1= Program Flow | |gr1= Program Flow | ||
|descr= Repeats [[Code]] while condition is [[true]]. A part of [[while]] [[do]] construct. | |descr= Repeats [[Code]] while the given condition is [[true]]. A part of [[while]]-[[do]] construct. | ||
|s1= [[while]] condition | |s1= [[while]] condition | ||
Line 34: | Line 34: | ||
|x1= <code>[[while]] {a < b} [[do]] {a = a + 1};</code> | |x1= <code>[[while]] {a < b} [[do]] {a = a + 1};</code> | ||
|x2= A practical example: Repair all members of a group to such a level that they are able to stand up: <code>{ | |x2= A practical example: Repair all members of a group to such a level that they are able to stand up: | ||
<code>{ | |||
[[if]] ([[alive]] [[Magic Variables#x|_x]]) [[then]] | |||
{ | |||
[[while]] { [[not]] [[canStand]] [[Magic Variables#x|_x]] } [[do]] | |||
{ | |||
[[Magic Variables|_x]] [[setDamage]] ([[damage]] [[Magic Variables|_x]] - 0.01); | |||
}; | |||
}; | |||
} [[forEach]] [[units]] [[group]] unitname;</code> | } [[forEach]] [[units]] [[group]] unitname;</code> | ||
Line 43: | Line 48: | ||
}} | }} | ||
{{Note | |||
|user= Kronzky | |||
|timestamp= 20080514084000 | |||
|text= The boolean code that is used to evaluate the while condition can be preceded by code that executes a regular command. | |||
<code>[[while]] {_a =_a + 1; _a < 10} [[do]] {...}</code> | <code>[[while]] {_a =_a + 1; _a < 10} [[do]] {...}</code> | ||
}} | |||
{{Note | |||
|user= Killzone Kid | |||
|timestamp= 20140830081200 | |||
|text= In [[Scheduler#Unscheduled_Environment|non-scheduled environment]], [[while]] [[do]] loop is limited to 10,000 iterations, after which it exits even if condition is still [[true]]. In [[Scheduler#Unscheduled_Environment|scheduled environment]] no such limit exists. | |||
}} |
Revision as of 21:28, 21 September 2021
Description
- Description:
- Repeats Code while the given condition is true. A part of while-do construct.
- Groups:
- Program Flow
Syntax
- Syntax:
- while condition
- Parameters:
- condition: Code
- Return Value:
- While Type
Examples
- Example 1:
while {a < b} do {a = a + 1};
- Example 2:
- A practical example: Repair all members of a group to such a level that they are able to stand up:
{ if (alive _x) then { while { not canStand _x } do { _x setDamage (damage _x - 0.01); }; }; } forEach units group unitname;
Additional Information
- See also:
- Control StructureswaitUntilfordo
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
- Posted on May 14, 2008 - 08:40 (UTC)
-
The boolean code that is used to evaluate the while condition can be preceded by code that executes a regular command.
while {_a =_a + 1; _a < 10} do {...}
- Posted on Aug 30, 2014 - 08:12 (UTC)
- In non-scheduled environment, while do loop is limited to 10,000 iterations, after which it exits even if condition is still true. In scheduled environment no such limit exists.
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.85
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Program Flow