From Bohemia Interactive Community
Hover & click on the images for description
Description
- Description:
- Performs strict comparison between var1 and var2 and returns true if equal, otherwise false. Strict means that it would check that both arguments are of the same data type and then compare the values.
Some differences between isEqualTo and ==:
_a = compile "123"; _b = compileFinal "123"; _a isEqualTo _b; // false
⚠
When comparing
Arrays, if an array contains
nil element, the comparison will return
false. For example:
private _array1 = [1,nil,2];
private _array2 = [1,nil,2];
_array1 isEqualTo _array2 // false
UNLESS the compared arrays are the same array:
private _array1 = [1,nil,2];
private _array2 = _array1;
_array1 isEqualTo _array2 // true
See:
BIS_fnc_areEqual vs.
BIS_fnc_areEqualNotNil
Groups:
Variables
Syntax
- Syntax:
- val1 isEqualTo val2
- Parameters:
- val1: Anything
- val2: Anything
- Return Value:
- Boolean
Examples
- Example 1:
_arr1 = [1,[2,[3]]];
_arr2 = [1,[2,[3]]];
if (_arr1 isEqualTo _arr2) then {hint "Arrays match!"}
- Example 2:
if (a isEqualTo b) then {hint "a is equal to b"};
if !(a isEqualTo b) then {hint "a is not equal to b"};
Additional Information
- See also:
- isNotEqualTo isEqualTypeAll isEqualTypeAny isEqualType isEqualTypeParams isEqualTypeArray a == b Operators
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
- Posted on December 3, 2014 - 13:11 (UTC)
- Tajin
-
Simply put, "isEqualTo" is a binary comparison. Therefor it is very fast but only accepts 100% identical matches. In some other languages this is known as "===" instead of "==".
-
- Posted on November 3, 2016 - 02:39 (UTC)
- Dedmen
-
When comparing with nil result is Nothing.
nil isEqualTo player;
Returns Nothing instead of expected false
diag_log [nil isEqualTo player];
Will print [bool]