isEqualTo: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) (description) |
Killzone Kid (talk | contribs) (description) |
||
Line 8: | Line 8: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Performs strict comparison between var1 and var2 and returns [[true]] if equal, otherwise [[false]].<br><br> | | Performs strict comparison between var1 and var2 and returns [[true]] if equal, otherwise [[false]]. Strict means that it would check that both arguments if of the same data type and then compare the values.<br><br> | ||
Some differences between [[isEqualTo]] and [[==]]: | Some differences between [[isEqualTo]] and [[==]]: | ||
* It performs case sensitive comparison on [[String]]s | * It performs case sensitive comparison on [[String]]s |
Revision as of 15:21, 30 October 2016
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 if of the same data type and then compare the values.
Some differences between isEqualTo and ==:- It performs case sensitive comparison on Strings
- It doesn't throw error when comparing different types, i.e. ("eleven" isEqualTo 11)
- It can compare Arrays, Scripts and Booleans (alive player isEqualTo true)
- It can compare non-existent game objects (grpNull isEqualTo grpNull)
- It can compare Namespaces (As of Arma 3 v1.47)
- Groups:
- Uncategorised
Syntax
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:
- isEqualTypeAllisEqualTypeAnyisEqualTypeisEqualTypeParamsisEqualTypeArraytypeNameOperatorsinfindsetresizeswitcha == b
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
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 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 May 21, 2015 - 11:26 (UTC)
- Killzone Kid
-
A faster, case-sensitive alternative to BIS_fnc_areEqual using isEqualTo:
KK_fnc_allEqual = { private ["_arr", "_first"]; _arr = []; _first = _this select 0; for "_i" from 0 to count _this - 1 do { _arr pushBack _first; }; _arr isEqualTo _this }; // Example [[1,2],[1,2],[1,3]] call KK_fnc_allEqual; //false
- Posted on May 21, 2015 - 15:30 (UTC)
- Killzone Kid
-
Array "compare" implementation using isEqualTo, a faster, case-sensitive alternative to BIS_fnc_arrayCompare:
KK_fnc_compare = { _this select 0 isEqualTo (_this select 1) }; // Example [[1,2,3],[1,2,3]] call KK_fnc_compare; //true