isEqualTo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\{\{( *)Informative( *)\|" to "{{$1Feature$2|$2Informative$2|")
m (Text replacement - "\{\{( *)Warning( *)\|" to "{{$1Feature$2|$Warning$2|")
Line 16: Line 16:
* It is slightly faster than [[==]], especially when comparing [[String]]s <br><br>
* It is slightly faster than [[==]], especially when comparing [[String]]s <br><br>
{{Feature | Informative | A compiled code is not equal to the same compiled code made final: <code>_a {{=}} [[compile]] "123"; _b {{=}} [[compileFinal]] "123"; _a [[isEqualTo]] _b; // false</code> }}
{{Feature | Informative | A compiled code is not equal to the same compiled code made final: <code>_a {{=}} [[compile]] "123"; _b {{=}} [[compileFinal]] "123"; _a [[isEqualTo]] _b; // false</code> }}
{{Warning | When comparing [[Array]]s, if an array contains [[nil]] element, the comparison will return [[false]]. For example:<br>
{{Feature |$Warning | When comparing [[Array]]s, if an array contains [[nil]] element, the comparison will return [[false]]. For example:<br>
<code>[[private]] _array1 {{=}} [1,[[nil]],2];
<code>[[private]] _array1 {{=}} [1,[[nil]],2];
[[private]] _array2 {{=}} [1,[[nil]],2];
[[private]] _array2 {{=}} [1,[[nil]],2];

Revision as of 00:17, 7 February 2021

Hover & click on the images for description

Description

Description:
Description needed
Groups:
Variables

Syntax

Syntax:
Syntax needed
Parameters:
val1: Anything
val2: Anything
Return Value:
Return value needed

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:
See also needed

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 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 "==".
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]"