and: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\| \[\[.+\]\] \<nowiki\>\=\<\/nowiki\> " to "| ") |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
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= Variables | |gr1= Variables | ||
Line 9: | Line 26: | ||
|gr2= Math | |gr2= Math | ||
| 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 | |descr= 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 ignored. | |||
|s1= a [[and]] b | |||
|p1= a: [[Boolean]] - Test condition or variable | |||
|p2= b: [[Boolean]] - Test condition or variable | |||
|p2= b: [[Boolean]] - Test condition or variable | |||
|s2= [[Boolean]] | |r1= [[Boolean]] | ||
|s2= a [[and]] b {{Since|arma2oa|1.62|y}} | |||
|p21= a: [[Boolean]] - Test condition or variable | |||
|p22= b: [[Code]] - Code that returns [[Boolean]]. It is '''not''' evaluated if ''a'' is [[false]] | |||
|r2= [[Boolean]] | |r2= [[Boolean]] | ||
|x1= <code>[[if]] (([[alive]] [[player]]) and (_enemycount == 0)) then {[[hint]] "you win !"}</code> | |x1= <code>[[if]] (([[not]] [[isNull]] [[player]]) [[and]] ([[alive]] [[player]]) [[and]] (_enemycount == 0)) [[then]] | ||
|x2= <code>[[if]] (([[count]] _array > 0) and {(_array [[select]] 0) == [[player]]}) then {[[hint]] "It works! | { | ||
[[hint]] "you win !"; | |||
};</code> | |||
|x2= <code>[[if]] (([[count]] _array > 0) [[and]] { (_array [[select]] 0) == [[player]] }) [[then]] {{cc|works as expected}} | |||
{ | |||
[[hint]] "It works!"; | |||
}; | |||
| | [[if]] (([[count]] _array > 0) [[and]] (_array [[select]] 0) == [[player]]) [[then]] {{cc|Error: {{ic|_array [[select]] 0}} is evaluated}} | ||
{ | |||
[[hint]] "It... works?"; | |||
};</code> | |||
|seealso= [[a && b]], [[or]], [[Operators]] | |seealso= [[a && b]], [[or]], [[Operators]] | ||
}} | }} | ||
Revision as of 16:48, 8 May 2021
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.
- 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 Template:Since
- 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:
if ((not isNull player) and (alive player) and (_enemycount == 0)) then { hint "you win !"; };
- Example 2:
if ((count _array > 0) and { (_array select 0) == player }) then // works as expected { hint "It works!"; }; if ((count _array > 0) and (_array select 0) == player) then // Error:
_array select 0
is evaluated { 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
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