and: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
Lou Montana (talk | contribs) m (Text replacement - "(\|[pr][0-9]+ *= *[^- ]*) *- *T([a-z ])" to "$1 - t$2") |
||
(11 intermediate revisions by the same user not shown) | |||
Line 27: | Line 27: | ||
|descr= Returns [[true]] only if both conditions are [[true]]. | |descr= Returns [[true]] only if both conditions are [[true]]. | ||
In case of the alternative syntax, {{ | In case of the alternative syntax, {{Link|https://en.wikipedia.org/wiki/Lazy_evaluation#Control_structures|lazy evaluation}} is used - if left operand is [[false]], evaluation of the right side is ignored. | ||
|alias= [[a && b]] | |alias= [[a && b]] | ||
Line 33: | Line 33: | ||
|s1= a [[and]] b | |s1= a [[and]] b | ||
|p1= a: [[Boolean]] - | |p1= a: [[Boolean]] - test condition or variable | ||
|p2= b: [[Boolean]] - | |p2= b: [[Boolean]] - test condition or variable | ||
|r1= [[Boolean]] | |r1= [[Boolean]] | ||
Line 43: | Line 43: | ||
|s2since= arma2oa 1.62 | |s2since= arma2oa 1.62 | ||
|p21= a: [[Boolean]] - | |p21= a: [[Boolean]] - test condition or variable | ||
|p22= b: [[Code]] - | |p22= b: [[Code]] - code that returns [[Boolean]]. It is '''not''' evaluated if ''a'' is [[false]] | ||
|r2= [[Boolean]] | |r2= [[Boolean]] | ||
|x1= < | |x1= <sqf> | ||
if ((not isNull player) and (alive player) and (_enemycount == 0)) then | |||
{ | { | ||
hint "you win !"; | hint "you win !"; | ||
};</ | }; | ||
</sqf> | |||
|x2= < | |x2= <sqf> | ||
if ((count _array > 0) and { (_array select 0) == player }) then // works as expected | |||
{ | { | ||
hint "It works!"; | hint "It works!"; | ||
}; | }; | ||
if ((count _array > 0) | if ((count _array > 0) and (_array select 0) == player) then // Error: _array select 0 is evaluated | ||
{ | { | ||
hint "It... works?"; | |||
};</ | }; | ||
</sqf> | |||
|seealso= [[a && b]] [[or]] [[Operators]] | |seealso= [[a && b]] [[or]] [[Operators]] | ||
}} | }} |
Latest revision as of 15:51, 8 November 2023
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 ignored.
- Alias:
- a && b
- Groups:
- VariablesMath
Syntax
- Syntax:
- a and b
- Parameters:
- a: Boolean - test condition or variable
- b: Boolean - test condition or variable
- Return Value:
- Boolean
Alternative Syntax
- Syntax:
- a and b
- Parameters:
- a: Boolean - test condition or variable
- b: Code - code that returns Boolean. It is not evaluated if a is false
- 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: Variables
- Command Group: Math