a == b

From Bohemia Interactive Community
Revision as of 18:20, 2 October 2018 by Killzone Kid (talk | contribs) (tidying up)
Jump to navigation Jump to search
Hover & click on the images for description

Description

Description:
Checks if argument a is equal to argument b. Both arguments need to be of the same type. Comparing Numbers and Strings has higher priority than comparing other types. String comparison is case insensitive. If you need case-sensitive comparison use isEqualTo command.
Groups:
Uncategorised

Syntax

Syntax:
a == b
Parameters:
a: Number or String
b: Number or String
Return Value:
Boolean

Alternative Syntax

Syntax:
a == b
Parameters:
a: Group, Side, Object, Structured Text, Config, Display, Control or Location
b: Group, Side, Object, Structured Text, Config, Display, Control or Location
Return Value:
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:
? name player == "Billy" : hint "Hello Billy, how are you?"

Additional Information

See also:
OperatorsisEqualTo

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

Posted on Feb 5, 2007 - 10:38
Ceeeb
In OFP v1.96, comparison of strings is not case sensitive. Example : "STRINGtext" == "stringTEXT" returns true.
Posted on Apr 15, 2014 - 15:34
ffur2007slx2_5
(A3 1.16) for case sensitive comparison, array comparison and boolean comparison we can use switch do. e.g. switch (_var0) do { case (_var1) : {true}; default {false}; }; 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

Bottom Section