isEqualTo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
(removed some of my notes that lost their actuality)
Line 55: Line 55:
<dl class="command_description">
<dl class="command_description">
<dd class="notedate">Posted on July 19, 2014 - 19:48 (UTC)</dd>
<dd class="notedate">Posted on July 19, 2014 - 19:48 (UTC)</dd>
<dt class="note">'''[[User:AgentRevolution|AgentRevolution]]'''</dt>
<dt class="note">'''[[User:AgentRevolution|AgentRev]]'''</dt>
<dd class="note">
<dd class="note">
The behavior of "var1 [[isEqualTo]] var2" is pretty much equivalent to "var1 [[in]] [var2]", plus the ability to compare arrays, and slightly better performance.
The behavior of "var1 [[isEqualTo]] var2" is pretty much equivalent to "var1 [[in]] [var2]", plus the ability to compare arrays, and slightly better performance.
Line 67: Line 67:
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 "&#61;&#61;&#61;" instead of "&#61;&#61;".
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 "&#61;&#61;&#61;" instead of "&#61;&#61;".
</dd>  
</dd>  
</dl>
<dl class="command_description">
<dd class="notedate">Posted on May 21, 2015 - 11:26 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">
A faster, case-sensitive alternative to [[BIS_fnc_areEqual]] using [[isEqualTo]]:
<code>KK_fnc_allEqual <nowiki>=</nowiki> {
[[private]] ["_arr", "_first"];
_arr <nowiki>=</nowiki> [];
_first <nowiki>=</nowiki> _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</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>
</dl>
</dl>
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 15:27, 30 October 2016

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 ==:
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:
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)
AgentRev
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 "==".