isEqualTo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(format)
No edit summary
Line 82: Line 82:
// Example
// Example
[[1,2],[1,2],[1,3]] [[call]] KK_fnc_allEqual; //false</code>
[[1,2],[1,2],[1,3]] [[call]] KK_fnc_allEqual; //false</code>
</dd>
</dl>
<!-- DISCONTINUE Notes -->
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on May 21, 2015 - 15:30 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">
Array "compare" implementation using [[isEqualTo]], a faster, case-sensitive alternative to [[BIS_fnc_arrayCompare]]:
<code>KK_fnc_compare <nowiki>=</nowiki> {
_this [[select]] 0 [[isEqualTo]] (_this [[select]] 1)
};
// Example
[[1,2,3],[1,2,3]] [[call]] KK_fnc_compare; //true</code>
</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 17:30, 21 May 2015

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!"}
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:
Operatorsinfindsetresizeswitcha == 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