a && b: Difference between revisions
Jump to navigation
Jump to search
Tag: Undo |
Lou Montana (talk | contribs) |
||
Line 9: | Line 9: | ||
| 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= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| | | booleanA [[a && b|&&]] booleanB |SYNTAX= | ||
|p1= | |||
|p2= | |p1= booleanA: [[Boolean]] - test condition or variable |PARAMETER1= | ||
|p2= booleanB: [[Boolean]] - test condition or variable |PARAMETER2= | |||
| [[Boolean]] |RETURNVALUE= | | [[Boolean]] |RETURNVALUE= | ||
____________________________________________________________________________________________ | |||
|s2= boolean [[a && b|&&]] code (''Available since ArmA 2:OA v1.62'') |SYNTAX2= | |||
|p21= boolean: [[Boolean]] - test condition or variable |PARAMETER21= | |||
|p21= | |||
|p22= | |p22= code: [[Code]] - code that once executed returns a [[Boolean]]. The code is not evaluated if '''a''' is [[false]]. |PARAMETER22= | ||
|r2= [[Boolean]] | | |||
|r2= [[Boolean]] |RETURNVALUE2= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|x1= <code>[[if]] | |x1= <code>[[private]] _allEnemiesKilled = [[true]]; | ||
|x2= <code>[[if]] (([[count]] _array > 0) && {(_array [[select]] 0) == [[player]]}) then {[[hint]] "It works! | [[if]] ([[alive]] [[player]] && _allEnemiesKilled) [[then]] | ||
{ | |||
[[hint]] "you win !"; | |||
};</code> |EXAMPLE1= | |||
|x2= <code>[[if]] (([[count]] _array > 0) && { (_array [[select]] 0) == [[player]] }) [[then]] {{cc|an error would be thrown without lazy evaluation}} | |||
{ | |||
[[hint]] "It works!"; | |||
};</code> |EXAMPLE2= | |||
|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!"; | |||
};</code> |EXAMPLE3= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| [[and]], [[or]], [[Operators]] |SEEALSO= | | [[and]], [[or]], [[Operators]] |SEEALSO= | ||
}} | }} | ||
Line 43: | Line 60: | ||
[[Category:Scripting Commands|#]] | [[Category:Scripting Commands|#]] | ||
[[Category:Scripting Commands OFP 1.46|#]] | |||
[[Category:Scripting Commands OFP 1.96|#]] | |||
[[Category:Scripting Commands OFP 1.99|#]] | [[Category:Scripting Commands OFP 1.99|#]] | ||
[[Category:Scripting Commands ArmA|#]] | [[Category:Scripting Commands ArmA|#]] | ||
[[Category:Scripting Commands ArmA2|#]] | [[Category:Scripting Commands ArmA2|#]] | ||
[[Category:Scripting Commands Arma 3|#]] | [[Category:Scripting Commands Arma 3|#]] | ||
[[Category:Scripting Commands Take On Helicopters|#]] | |||
[[Category:Command_Group:_Math|#]] | [[Category:Command_Group:_Math|#]] | ||
[[Category:Command_Group:_Variables|#]] | [[Category:Command_Group:_Variables|#]] |
Revision as of 16:51, 2 September 2019
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).
- Groups:
- Uncategorised
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 (Available since ArmA 2:OA v1.62)
- Parameters:
- boolean: Boolean - test condition or variable
- code: Code - code that once executed returns a Boolean. The code is not evaluated if a 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
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
Bottom Section
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.00
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Command Group: Uncategorised
- Scripting Commands OFP 1.46
- Scripting Commands OFP 1.96
- Scripting Commands OFP 1.99
- Scripting Commands ArmA
- Scripting Commands ArmA2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters
- Command Group: Math
- Command Group: Variables