a == b: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
(tidying up)
Line 7: Line 7:
____________________________________________________________________________________________
____________________________________________________________________________________________


| Check if one value is equal to another.
| Checks if argument <tt>a</tt> is equal to argument <tt>b</tt>. Both arguments need to be of the same [[Data Types | type]]. Comparing [[Number]]s and [[String]]s has [[SQF_syntax#Rules_of_Precedence | higher priority]] than comparing other types. String comparison is case insensitive. If you need case-sensitive comparison use [[isEqualTo]] command. |= Description
 
Both values need to be of the same type. |= Description
____________________________________________________________________________________________
____________________________________________________________________________________________


| valuea <nowiki>==</nowiki> valueb |= Syntax
| a <nowiki>==</nowiki> b |= Syntax


|p1 = valuea: [[Number]], [[Group]], [[Side]], [[String]], [[Object]], [[Structured Text]], [[Config]], [[Display]] or [[Control]]; since VBS2 1.24: [[Location]]
|p1 = a: [[Number]] or [[String]]|=


|p2 = valueb: [[Number]], [[Group]], [[Side]], [[String]], [[Object]], [[Structured Text]], [[Config]], [[Display]] or [[Control]]; since VBS2 1.24: [[Location]]
|p2 = b: [[Number]] or [[String]]|=
| [[Boolean]] |= Return value
| [[Boolean]] |= Return value
| s2=a <nowiki>==</nowiki> b |= Syntax
|p21 = a: [[Group]], [[Side]], [[Object]], [[Structured Text]], [[Config]], [[Display]], [[Control]] or [[Location]]|=
|p22 = b: [[Group]], [[Side]], [[Object]], [[Structured Text]], [[Config]], [[Display]], [[Control]] or [[Location]]|=
|r2= [[Boolean]] |= Return value
____________________________________________________________________________________________
____________________________________________________________________________________________



Revision as of 17:20, 2 October 2018

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