isEqualTo

From Bohemia Interactive Community
Revision as of 17:08, 4 December 2014 by Killzone Kid (talk | contribs) (Undo revision 86735 by Heeeere's Johnny! (talk) player isEqualTo player => true here)
Jump to navigation Jump to search
Hover & click on the images for description

Description

Description:
Performs strict comparison between var1 and var2 and returns true if equal otherwise false.

Some differences between == and isEqualTo:
  • Performs case sensitive comparison on Strings
  • Doesn't throw error when comparing different types, i.e. ("eleven" isEqualTo 11)
  • Can compare Arrays and Booleans
Groups:
Uncategorised

Syntax

Syntax:
var1 isEqualTo var2
Parameters:
var1: Anything
var2: Anything
Return Value:
Boolean

Examples

Example 1:
_arr1 = [1,[2,[3]]]; _arr2 = [1,[2,[3]]]; if (_arr1 isEqualTo _arr2) then {hint "Arrays match!"}

Additional Information

See also:
Operatorsinfindsetresizeswitch

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

Posted on Apr 15, 2014 - 16:24
ffur2007slx2_5
(ArmA3 1.16) for multiple comparisons, we can use the example below for more accurate compare than BIS_fnc_arrayCompare or BIS_fnc_areEqual: fnc_areEqual = { private ["_b","_var1","_var2"]; _b = true; for [{_i = 1},{_i < (count _this) && _b},{_i = _i + 1}] do { _var1 = _this select (_i-1); _var2 = _this select _i; if (!(_var1 isEqualTo _var2)) then {_b = false;}; }; _b }; ["A","a","a"] call fnc_areEqual; // false ["A","a","a"] call BIS_fnc_areEqual; // true

Bottom Section

Posted on July 19, 2014 - 19:48 (UTC)
AgentRevolution
The behavior of "var1 isEqualTo var2" is pretty much equivalent to "var1 in [var2]", plus the ability to compare arrays, and slightly better performance.
Posted on December 2, 2014 - 06:18 (UTC)
DreadedEntity
To clarify AgentRevolution's note, he is saying that the in command and isEqualTo use the same comparison algorithm. If we were able to look at the code for the in command, I bet you would find isEqualTo in there also.
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 "==".