isEqualTo

From Bohemia Interactive Community
Jump to: navigation, search
Introduced with Arma 3 version 1.16
  

Click on the images for descriptions

Introduced in

Game:
Arma 3
Version:
1.16

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 ==:
  • 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)
  • It is slightly faster than ==, especially when comparing Strings

Syntax

Syntax:
val1 isEqualTo val2
Parameters:
val1: Anything
val2: 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

Multiplayer:
-
See also:
isEqualTypeAllisEqualTypeAnyisEqualTypeisEqualTypeParamsisEqualTypeArraytypeNameOperatorsinfindsetresizeswitcha == b

Notes

Only post proven facts here. Report bugs on the feedback tracker. Use the talk page or the forums for discussions.
Add New Note | How To

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 "==".
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]" diag_log (str (nil isEqualTo player)) + "test"; Will throw Generic error in expression "+: Type Nothing, expected Number,Array,String,Not a Number"