a && b: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " <h3 style="display:none">Notes</h3> <dl class="command_description"> <!-- Note Section BEGIN --> <!-- Note Section END --> </dl> " to "")
m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame|Game [Vv]ersion|Game Version \(number surrounded by NO SPACES\)|Multiplayer Arguments \("local" or "global"\)|Multiplayer Effects \("local" or "global"\)|Multiplayer Execution \("serv...)
Line 1: Line 1:
{{Command|Comments=
{{Command


| ofp |Game Name=
| ofp


|1.00|Game Version=
|1.00


|gr1= Math |GROUP1=
|gr1= Math
|gr2= Variables |GROUP2=
|gr2= Variables


| Returns [[true]] only if both conditions are [[true]]. In case of the alternative syntax, [http://en.wikipedia.org/wiki/Lazy_evaluation#Control_structures lazy evaluation] is used (if left operand is [[false]], evaluation of the right side is skipped completely).
| Returns [[true]] only if both conditions are [[true]]. In case of the alternative syntax, [http://en.wikipedia.org/wiki/Lazy_evaluation#Control_structures lazy evaluation] is used (if left operand is [[false]], evaluation of the right side is skipped completely).


{{Informative | This command is identical to the [[and]] command.}} |DESCRIPTION=
{{Informative | This command is identical to the [[and]] command.}}


| booleanA [[a && b|&&]] booleanB |SYNTAX=
| booleanA [[a && b|&&]] booleanB


|p1= booleanA: [[Boolean]] - test condition or variable |PARAMETER1=
|p1= booleanA: [[Boolean]] - test condition or variable


|p2= booleanB: [[Boolean]] - test condition or variable |PARAMETER2=
|p2= booleanB: [[Boolean]] - test condition or variable


| [[Boolean]] |RETURNVALUE=
| [[Boolean]]


|s2=  boolean [[a && b|&&]] code {{Since|arma2oa|1.62|y}} |SYNTAX2=
|s2=  boolean [[a && b|&&]] code {{Since|arma2oa|1.62|y}}


|p21= boolean: [[Boolean]] - test condition or variable |PARAMETER21=
|p21= boolean: [[Boolean]] - test condition or variable |PARAMETER21=
Line 26: Line 26:
|p22= code: [[Code]] - code that once executed returns a [[Boolean]]. The code is not evaluated if '''boolean''' is [[false]]. |PARAMETER22=
|p22= code: [[Code]] - code that once executed returns a [[Boolean]]. The code is not evaluated if '''boolean''' is [[false]]. |PARAMETER22=


|r2= [[Boolean]] |RETURNVALUE2=
|r2= [[Boolean]]


|x1= <code>[[private]] _allEnemiesKilled = [[true]];
|x1= <code>[[private]] _allEnemiesKilled = [[true]];
Line 32: Line 32:
{
{
[[hint]] "you win !";
[[hint]] "you win !";
};</code> |EXAMPLE1=
};</code>


|x2= <code>[[if]] (([[count]] _array > 0) && { (_array [[select]] 0) == [[player]] }) [[then]] {{cc|an error would be thrown without lazy evaluation}}
|x2= <code>[[if]] (([[count]] _array > 0) && { (_array [[select]] 0) == [[player]] }) [[then]] {{cc|an error would be thrown without lazy evaluation}}
{
{
[[hint]] "It works!";
[[hint]] "It works!";
};</code> |EXAMPLE2=
};</code>


|x3= <code>[[if]] (([[alive]] [[player]]) && { [[player]] [[setDamage]] 0.5; [[true]] }) [[then]] {{cc|valid '''as long as''' the code block returns a [[Boolean]]}}
|x3= <code>[[if]] (([[alive]] [[player]]) && { [[player]] [[setDamage]] 0.5; [[true]] }) [[then]] {{cc|valid '''as long as''' the code block returns a [[Boolean]]}}
{
{
[[hint]] "It works!";
[[hint]] "It works!";
};</code> |EXAMPLE3=
};</code>


| [[and]], [[or]], [[Operators]] |SEEALSO=
| [[and]], [[or]], [[Operators]]
}}
}}



Revision as of 00:03, 18 January 2021

Hover & click on the images for description

Description

Description:
Returns true only if both conditions are true. In case of the alternative syntax, lazy evaluation is used (if left operand is false, evaluation of the right side is skipped completely).
This command is identical to the and command.
Groups:
MathVariables

Syntax

Syntax:
booleanA && booleanB
Parameters:
booleanA: Boolean - test condition or variable
booleanB: Boolean - test condition or variable
Return Value:
Boolean

Alternative Syntax

Syntax:
boolean && code Template:Since
Parameters:
boolean: Boolean - test condition or variable
code: Code - code that once executed returns a Boolean. The code is not evaluated if boolean is false.
Return Value:
Boolean

Examples

Example 1:
private _allEnemiesKilled = true; if (alive player && _allEnemiesKilled) then { hint "you win !"; };
Example 2:
if ((count _array > 0) && { (_array select 0) == player }) then // an error would be thrown without lazy evaluation { hint "It works!"; };
Example 3:
if ((alive player) && { player setDamage 0.5; true }) then // valid as long as the code block returns a Boolean { hint "It works!"; };

Additional Information

See also:
andorOperators

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

Bottom Section