then: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (fixed desc, fixed examples)
m (Some wiki formatting)
 
(66 intermediate revisions by 16 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


| First or second element of array is executed depending on result of [[if]] condition. Result of the expression executed is returned as a result (result may be nothing).  |= Description
|game3= arma1
____________________________________________________________________________________________
|version3= 1.00


| if '''then''' else |= Syntax
|game4= arma2
|version4= 1.00


|p1= if: [[If Type]] |= Parameter 1
|game5= arma2oa
|version5= 1.50


|p2= else: [[Array]] |= Parameter 2
|game6= tkoh
|version6= 1.00


| [[Anything]] |= Return value
|game7= arma3
____________________________________________________________________________________________
|version7= 0.50
|x1 = [[if]] (a>b) then <nowiki>{c=1}</nowiki> [[else]] <nowiki>{c=2}</nowiki> | = Example 1
|x2 = [[if]] (a>b) then <nowiki>{c=1;c=2}</nowiki> | = Example 2
|= See also


}}
|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>


<h3 style="display:none">Notes</h3>
|x3= <sqf>if (alive player) then [{ hint "player is alive"; }, { hint "player is dead"; }];</sqf>
<dl class="command_description">
<!-- Note Section BEGIN -->


<!-- Note Section END -->
|x4= <sqf>private _value = if (alive player) then { 1 } else { 0 };</sqf>
</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:Armed Assault: Control Flows|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