or: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "|r2= Boolean |RETURNVALUE= " to "|r2= Boolean |RETURNVALUE2=")
Line 7: Line 7:
____________________________________________________________________________________________
____________________________________________________________________________________________


| Returns [[true]] only if one or 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 [[true]], evaluation of the right side is skipped completely).
| Returns [[true]] if one or 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 [[true]], evaluation of the right side is skipped completely).


Identical to: a [[a or b| || ]] b |DESCRIPTION=
{{Informative | Identical to [[a or b|a || b]].}} |DESCRIPTION=
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[Boolean]] <nowiki>=</nowiki> a '''or''' b |SYNTAX=
| a [[or]] b |SYNTAX=
|p1= a: [[Boolean]] - Test condition or variable that returns [[Boolean]]. |PARAMETER1=
 
|p2= b: [[Boolean]] - Test condition or variable that returns [[Boolean]]. |PARAMETER2=
|p1= a: [[Boolean]] - test condition or variable |PARAMETER1=
 
|p2= b: [[Boolean]] - test condition or variable |PARAMETER2=
 
| [[Boolean]] |RETURNVALUE=
| [[Boolean]] |RETURNVALUE=
____________________________________________________________________________________________


|s2= a [[or]] b &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(''Since Arma 2:OA v1.62'') |SYNTAX2=


|p21= a: [[Boolean]] - test condition or variable |PARAMETER21=


|s2= [[Boolean]] <nowiki>=</nowiki> a '''or''' b (''Only available since ArmA 2:OA v1.62.'') |SYNTAX2=
|p22= b: [[Code]] - code that returns [[Boolean]]; it is not evaluated if ''a'' returns [[true]] |PARAMETER22=


|p21= a: [[Boolean]] - Test condition or variable that returns [[Boolean]]. |PARAMETER21=
|r2= [[Boolean]] |RETURNVALUE2=
|p22= b: [[Code]] - Code that returns [[Boolean]]. It is not evaluated if '''a''' returns as [[true]]. |PARAMETER2=
____________________________________________________________________________________________
|r2= [[Boolean]] |RETURNVALUE2=____________________________________________________________________________________________


|x1= <code>[[if]] ((OBJ1) [[or]] (_enemycount [[==]] 0)) [[then]] {[[hint]] "you win !"}</code> |EXAMPLE1=
|x1= <code>[[if]] (_obj1 [[or]] (_enemycount [[==]] 0) [[or]] ([[not]] [[alive]] _enemyGeneral)) [[then]] { [[hint]] "you win !"; };</code> |EXAMPLE1=
|x2= <code>[[if]] (([[count]] _array [[==]] 0) [[or]] {(_array [[select]] 0) [[!=]] [[player]]}) [[then]] {[[hint]] "It works! Without lazy evaluation it would throw an error if array was empty."}</code> |EXAMPLE2=
 
|x2= <code>{{cc|without lazy evaluation [[select]] would throw an error if array was empty}}
[[if]] (([[count]] _array [[==]] 0) [[or]] { (_array [[select]] 0) [[!=]] [[player]] }) [[then]] {
[[hint]] "It works!";
};</code> |EXAMPLE2=
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[a or b|a <nowiki>||</nowiki> b]], [[and]], [[Operators]]|SEEALSO=
| [[a or b|a || b]], [[and]], [[Operators]]|SEEALSO=
|mp= no special considerations|=
|mp= |MP=
}}
}}


Line 42: Line 51:
<h3 style="display:none">Bottom Section</h3>
<h3 style="display:none">Bottom Section</h3>


[[Category:Scripting Commands|OR]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.46|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.96|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.96|OR]]
[[Category:Scripting Commands ArmA|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands OFP 1.46|OR]]
[[Category:Scripting Commands ArmA|OR]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on March 29, 2015 - 13:07 (UTC)</dd>
<dt class="note">[[User:IT07|IT07]]</dt>
<dd class="note">
The examples suggest that you can only use two conditions with or. You can use more if you want.
It is not recommended to use a lot of conditions because the check will take longer to complete.
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 14:15, 24 September 2019

Hover & click on the images for description

Description

Description:
Returns true if one or both conditions are true. In case of the alternative syntax, lazy evaluation is used (if left operand is true, evaluation of the right side is skipped completely).
Identical to a || b.
Groups:
Uncategorised

Syntax

Syntax:
a or b
Parameters:
a: Boolean - test condition or variable
b: Boolean - test condition or variable
Return Value:
Boolean

Alternative Syntax

Syntax:
a or b        (Since Arma 2:OA v1.62)
Parameters:
a: Boolean - test condition or variable
b: Code - code that returns Boolean; it is not evaluated if a returns true
Return Value:
Boolean

Examples

Example 1:
if (_obj1 or (_enemycount == 0) or (not alive _enemyGeneral)) then { hint "you win !"; };
Example 2:
// without lazy evaluation select would throw an error if array was empty if ((count _array == 0) or { (_array select 0) != player }) then { hint "It works!"; };

Additional Information

See also:
a || bandOperators

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