do: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (<code> and note tidy + Moved example from "notes" to "examples")
(format, note about the code and missionNamespace)
Line 7: Line 7:
____________________________________________________________________________________________
____________________________________________________________________________________________


| Repeat '''code''' while condition is [[true]]. |= Description
| Executes ''code''. Used as part of construct, such as [[while]], [[with]], [[for]] and [[switch]]. The ''code'' is always executed in [[missionNamespace]]. |= Description
____________________________________________________________________________________________
____________________________________________________________________________________________


| while '''do''' code |= Syntax
| construct '''do''' code |= Syntax


|p1 = while: [[While Type]]
|p1 = construct: [[while]], [[with]], [[for]], [[switch]]


|p2 = code: [[Code]]
|p2 = code: [[Code]]
Line 19: Line 19:
| [[Nothing]] |= Return value
| [[Nothing]] |= Return value
____________________________________________________________________________________________
____________________________________________________________________________________________
|x1= <code>'''[[while]]''' { a > b } [[do]] { a = a + 1 };</code>
|x1= <code>[[while]] {b > a} [[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>{
     [[while]] { ([[not]] [[canStand]] [[Magic Variables|_x]]) [[and]] ([[alive]] [[Magic Variables|_x]]) } [[do]] {
     [[while]] {![[canStand]] [[Magic Variables|_x]] && [[alive]] [[Magic Variables|_x]]} [[do]] {
         [[Magic Variables|_x]] [[setDammage]] ([[getDammage]] [[Magic Variables|_x]]) - 0.01;
         [[Magic Variables|_x]] [[setDamage]] ([[damage]] [[Magic Variables|_x]] - 0.01);
     };
     };
} [[forEach]] [[units]] [[group]] unitname;</code> |= Example 2
} [[forEach]] [[units]] [[group]] unitname;</code> |= Example 2

Revision as of 10:05, 30 August 2014

Hover & click on the images for description

Description

Description:
Executes code. Used as part of construct, such as while, with, for and switch. The code is always executed in missionNamespace.
Groups:
Uncategorised

Syntax

Syntax:
construct do code
Parameters:
construct: while, with, for, switch
code: Code
Return Value:
Nothing

Examples

Example 1:
while {b > a} 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: { while {!canStand _x && alive _x} do { _x setDamage (damage _x - 0.01); }; } forEach units group unitname;

Additional Information

See also:
Control 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

Note (Applies to 1.85-1.97): Maximum repeat count for loop is 10000.
If condition is still true after loop was repeated 10000 times, loop is terminated and error message is shown.

Bottom Section