or: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\| *((\[\[[a-zA-Z0-9_ |()]+\]\],? ?)+) * \}\}" to "|seealso= $1 }}") |
Lou Montana (talk | contribs) m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>") |
||
(34 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{RV|type=command | {{RV|type=command | ||
| ofp | |game1= ofp | ||
|version1= 1.00 | |||
|1.00 | |game2= ofpe | ||
|version2= 1.00 | |||
|game3= arma1 | |||
|version3= 1.00 | |||
|game4= arma2 | |||
|version4= 1.00 | |||
|game5= arma2oa | |||
|version5= 1.50 | |||
|game6= tkoh | |||
|version6= 1.00 | |||
|game7= arma3 | |||
|version7= 0.50 | |||
|gr1= Math | |gr1= Math | ||
Line 9: | Line 26: | ||
|gr2= Variables | |gr2= Variables | ||
| Returns [[true]] if one or both conditions are [[true]]. In case of the alternative syntax, | |descr= Returns [[true]] if one or both conditions are [[true]]. In case of the alternative syntax, {{Link|https://en.wikipedia.org/wiki/Lazy_evaluation#Control_structures|lazy evaluation}} is used. That means that if left operand is [[true]], evaluation of the right side is skipped completely. | ||
|alias = [[a or b|a || b]] | |||
| a [[or]] b | |s1= a [[or]] b | ||
|p1= a: [[Boolean]] - test condition or variable | |p1= a: [[Boolean]] - test condition or variable | ||
Line 19: | Line 36: | ||
|p2= b: [[Boolean]] - test condition or variable | |p2= b: [[Boolean]] - test condition or variable | ||
| [[Boolean]] | |r1= [[Boolean]] | ||
|s2= a [[or]] b | |||
| | |s2since= arma2oa 1.62 | ||
|p21= a: [[Boolean]] - test condition or variable | |p21= a: [[Boolean]] - test condition or variable | ||
|p22= b: [[Code]] - code that returns [[Boolean]] | |p22= b: [[Code]] - code that returns [[Boolean]]. It is not evaluated if ''a'' returns [[true]] | ||
|r2= [[Boolean]] | |r2= [[Boolean]] | ||
|x1= < | |x1= <sqf>if (_obj1 or (_enemycount == 0) or (not alive _enemyGeneral)) then { hint "you win !"; };</sqf> | ||
|x2= < | |x2= <sqf> | ||
// without lazy evaluation, select would throw an error in the event of an empty array | |||
if ((count _array == 0) or { (_array select 0) != player }) then | |||
{ | { | ||
hint "It works!"; | |||
};</ | }; | ||
</sqf> | |||
|seealso= [[a or b|a || b]] | |seealso= [[a or b|a || b]] [[and]] [[Operators]] | ||
}} | }} | ||
Latest revision as of 19:42, 3 September 2024
Description
- Description:
- Returns true if one or both conditions are true. In case of the alternative syntax, lazy evaluation is used. That means that if left operand is true, evaluation of the right side is skipped completely.
- Alias:
- a || b
- Groups:
- MathVariables
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
- 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:
- Example 2:
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
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.00
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Math
- Command Group: Variables