Arma 3 Scripting

a == b

  • Arma 3 v0.50
  • First in Operation Flashpoint v1.00

Command · also in Variables · Markdown · JSON · original wiki page

Description

Check if a is equal to b. String comparison is case-insensitive - use isEqualTo if case sensitivity is needed.

Important

a and b types must match: comparing e.g String with Number is invalid.

Syntax

a == b

Parameters:

Returns: Boolean

Examples

Example 1

if (player == leader group player) then
{
    hint "You are the leader of your group.";
}
else
{
    hint "Someone else is the boss";
};

Example 2

"MyRabbit" == "MYRABBIT"; // returns true

Example 3

if (alive _unit1 == alive _unit2) then { hint "Both units are either dead or both alive" };

See also

a != b · Operators · isEqualTo

Community notes

ffur2007slx2_5

For script comparison we need to detect whether scripts are running in advance, then compose both into string:

if (scriptDone _var0) then [{false},{(str _var0) == (str _var1)}];

It is recommended to use isEqualTo for all types comparison, which is more functional and as fast as operator. For multiple comparisons:

fnc_areEqual = {
    private ["_b", "_var1", "_var2"];
    _b = true;
    for [{ _i = 1 }, { _i < (count _this) && _b }, { _i=_i + 1 }] do {
        _var1 = _this select (_i-1);
        _var2 = _this select _i;
        if (!(_var1 isEqualTo _var2)) then { _b = false; };
    };
    _b
};
["A","a","a"] call fnc_areEqual; // false

And we can use such workaround instead of using BIS_fnc_arrayCompare or BIS_fnc_areEqual