isEqualTo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (note format)
Line 34: Line 34:
<dd class="notedate">Posted on Apr 15, 2014 - 16:24
<dd class="notedate">Posted on Apr 15, 2014 - 16:24
<dt class="note">'''[[User:ffur2007slx2_5|ffur2007slx2_5]]'''<dd class="note">
<dt class="note">'''[[User:ffur2007slx2_5|ffur2007slx2_5]]'''<dd class="note">
In ArmA3 ver 1.16 for multiple comparisons, we can use the example below for more accurate compare than [[BIS_fnc_arrayCompare]] or [[BIS_fnc_areEqual]]:
(ArmA3 1.16) for multiple comparisons, we can use the example below for more accurate compare than [[BIS_fnc_arrayCompare]] or [[BIS_fnc_areEqual]]:
<code>
<code>
Fnc_areEqual = {
fnc_areEqual = {
Private ["_b","_var1","_var2"];
[[private]] ["_b","_var1","_var2"];
_b = true;
_b = [[true]];
For [{_i=1},{_i < (count _this) && _b},{_i=_i+1}] do {
[[for]] [{_i = 1},{_i < ([[count]] _this) && _b},{_i = _i + 1}] [[do]] {
       _var1 = _this select (_i-1);
       _var1 = _this [[select]] (_i-1);
  _var2 = _this select _i;
      _var2 = _this [[select]] _i;
       If (!(_var1 isEqualTo _var2)) then {_b = false;};
       [[if]] (!(_var1 [[isEqualTo]] _var2)) [[then]] {_b = [[false]];};
};
};
_b
_b
};
};
["A","a","a"] call fnc_areEqual; // false
["A","a","a"] [[call]] fnc_areEqual; // false
["A","a","a"] call BIS_fnc_areEqual; // true
["A","a","a"] [[call]] [[BIS_fnc_areEqual]]; // true
</code>
</code>
<!-- Note Section END -->
<!-- Note Section END -->
Line 64: Line 64:
<dt class="note">'''[[User:AgentRevolution|AgentRevolution]]'''</dt>
<dt class="note">'''[[User:AgentRevolution|AgentRevolution]]'''</dt>
<dd class="note">
<dd class="note">
The behavior of "var1 isEqualTo var2" is pretty much equivalent to "var1 in [var2]", plus the ability to compare arrays, and slightly better performance.
The behavior of "var1 [[isEqualTo]] var2" is pretty much equivalent to "var1 [[in]] [var2]", plus the ability to compare arrays, and slightly better performance.
</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 02:56, 20 July 2014

Hover & click on the images for description

Description

Description:
Performs strict comparison between var1 and var2 and returns true if equal otherwise false.
Groups:
Uncategorised

Syntax

Syntax:
var1 isEqualTo var2
Parameters:
var1: Anything
var2: Anything
Return Value:
Boolean

Examples

Example 1:
_arr1 = [1,[2,[3]]]; _arr2 = [1,[2,[3]]]; if (_arr1 isEqualTo _arr2) then {hint "Arrays match!"}

Additional Information

See also:
Operatorsinfindsetresizeswitch

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 Apr 15, 2014 - 16:24
ffur2007slx2_5
(ArmA3 1.16) for multiple comparisons, we can use the example below for more accurate compare than BIS_fnc_arrayCompare or BIS_fnc_areEqual: 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 ["A","a","a"] call BIS_fnc_areEqual; // true

Bottom Section

Posted on July 19, 2014 - 19:48 (UTC)
AgentRevolution
The behavior of "var1 isEqualTo var2" is pretty much equivalent to "var1 in [var2]", plus the ability to compare arrays, and slightly better performance.