then: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (merged to the if statement)
m (Some wiki formatting)
 
(58 intermediate revisions by 12 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| ofpr |= Game name
|game1= ofp
|version1= 1.85


|1.85|= Game version
|game2= ofpe
____________________________________________________________________________________________
|version2= 1.00


| '''then''' is not a stand-alone command. It can only be used as part of the [[if]] statement  |= Description
|game3= arma1
____________________________________________________________________________________________
|version3= 1.00


| [[Control Structures]], [[if]], [[else]] |= See also
|game4= arma2
|version4= 1.00


}}
|game5= arma2oa
|version5= 1.50
 
|game6= tkoh
|version6= 1.00
 
|game7= arma3
|version7= 0.50
 
|gr1= Program Flow
 
|descr= Links an [[If Type]] with [[Code]] to be executed if said [[If Type]]'s condition is [[true]]; otherwise, "[[else]]" code is executed if provided.<br>
The alternative syntax allows to set "[[then]]" code and "[[else]]" code in one array.
{{Feature|informative|Variables declared inside ''thenCode'' are private to that code block - see {{Link|Variables#Local Variables Scope}}.}}
 
|s1= ifType [[then]] thenCode
 
|p1= ifType: [[If Type]]
 
|p2= thenCode: [[Code]] or [[Array]] of [[Code]]:
* [[Code]] - code block to execute if ''ifType''<nowiki/>'s condition is [[true]]
* [[Array]] of [[Code]] - array of two [[Code]] elements in format [thenCode, elseCode]; see {{Link|#Example 3}}
 
|r1= [[Anything]] - result of the executed code
 
|x1= <sqf>if (a > b) then { hint "a is greater than b!"; };</sqf>
 
|x2= <sqf>
private _c = 0;
if (_a > _b) then
{
_c = 1;
}
else
{
_c = 2;
};
</sqf>
 
|x3= <sqf>if (alive player) then [{ hint "player is alive"; }, { hint "player is dead"; }];</sqf>


<h3 style="display:none">Notes</h3>
|x4= <sqf>private _value = if (alive player) then { 1 } else { 0 };</sqf>
<dl class="command_description">
<!-- Note Section BEGIN -->
<dt class="note">'''[[User:Ceeeb|Ceeeb]]'''</dt>
<dd class="note">
Any variables you declare within the body of an [[if]]/then statement (ie between the curly braces) are local to that 'if' statement, and are destroyed at the end of the statement. If you know you want to use the variable outside the 'if' statement, make sure your declare it before the 'if' statement.
</dd>
<!-- Note Section END -->
</dl>


<h3 style="display:none">Bottom Section</h3>
|seealso= [[Control Structures]] [[if]] [[else]]
[[Category:Scripting Commands|THEN]]
}}
[[Category:Scripting Commands OFP 1.96|THEN]]
[[Category:Scripting Commands ArmA|THEN]]
[[Category:ArmA: Control Structures|THEN]]
[[Category:Command Group: Program Flow|THEN]]

Latest revision as of 12:15, 3 January 2024

Hover & click on the images for description

Description

Description:
Links an If Type with Code to be executed if said If Type's condition is true; otherwise, "else" code is executed if provided.
The alternative syntax allows to set "then" code and "else" code in one array.
Variables declared inside thenCode are private to that code block - see Variables - Local Variables Scope.
Groups:
Program Flow

Syntax

Syntax:
ifType then thenCode
Parameters:
ifType: If Type
thenCode: Code or Array of Code:
Return Value:
Anything - result of the executed code

Examples

Example 1:
if (a > b) then { hint "a is greater than b!"; };
Example 2:
private _c = 0; if (_a > _b) then { _c = 1; } else { _c = 2; };
Example 3:
if (alive player) then [{ hint "player is alive"; }, { hint "player is dead"; }];
Example 4:
private _value = if (alive player) then { 1 } else { 0 };

Additional Information

See also:
Control Structures if else

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