in: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (added hashmap category)
Line 12: Line 12:
|gr3= Locations |GROUP3=
|gr3= Locations |GROUP3=


|gr3= HashMap |GROUP3=
|gr4= HashMap |GROUP4=


|gr4= Unit Control |GROUP4=
|gr5= Unit Control |GROUP5=
____________________________________________________________________________________________
____________________________________________________________________________________________


Line 56: Line 56:


|r4= [[Boolean]] |RETURNVALUE4=
|r4= [[Boolean]] |RETURNVALUE4=
____________________________________________________________________________________________
____________________________________________________________________________________________


|s5= key[[in]] hashMap |SYNTAX5=
|s5= key [[in]] hashMap |SYNTAX5=


|p81= key: [[HashMapKey]] |PARAM81=
|p81= key: [[HashMapKey]] |PARAM81=
Line 88: Line 87:
{{cc|only option available in OFP}}</code> |Example2=
{{cc|only option available in OFP}}</code> |Example2=


|x3= Arma 3:<code>[1,2,3] [[in]] [<nowiki/>[1,2,3], [4,5,6]]; {{cc|true}}</code> |Example3=
|x3= <code>[1,2,3] [[in]] [<nowiki/>[1,2,3], [4,5,6]]; {{cc|true - [[{{arma3}}]] only}}</code> |Example3=


|x4= <code>_isInCar = [[player]] [[in]] car;</code> |Example4=
|x4= <code>_isInCar = [[player]] [[in]] car;</code> |Example4=


|x5= <code>_isInside = [1000,2000,0] [[in]] myLocation;</code>|Example5=
|x5= <code>_isInside = [1000,2000,0] [[in]] myLocation;</code> |Example5=


|x6= <code>_isInString = "foo" [[in]] "foobar"; {{cc|true}}
|x6= <code>_isInString = "foo" [[in]] "foobar"; {{cc|true}}
_isInString = "Foo" [[in]] "foobar"; {{cc|false}}</code>|Example6=
_isInString = "Foo" [[in]] "foobar"; {{cc|false}}</code> |Example6=


|x7= <code>[[private]] _boarded = [[player]] [[in]] _groupVehicle;</code> |Example7=
|x7= <code>[[private]] _boarded = [[player]] [[in]] _groupVehicle;</code> |Example7=
Line 103: Line 102:
{{cc|[[isNull]] [[objectParent]] _unit is even faster}}</code> |Example8=
{{cc|[[isNull]] [[objectParent]] _unit is even faster}}</code> |Example8=


|[[inPolygon]], [[inArea]], [[set]], [[resize]], [[reverse]], [[pushBack]], [[pushBackUnique]], [[apply]], [[select]], [[find]], [[toArray]], [[toString]], [[forEach]], [[count]], [[deleteAt]], [[deleteRange]], [[append]], [[sort]], [[param]], [[params]], [[arrayIntersect]], [[splitString]], [[joinString]], [[forceUnicode]]|SEEALSO=
|[[inPolygon]], [[inArea]], [[set]], [[resize]], [[reverse]], [[pushBack]], [[pushBackUnique]], [[apply]], [[select]], [[find]], [[toArray]], [[toString]], [[forEach]], [[count]], [[deleteAt]], [[deleteRange]], [[append]], [[sort]], [[param]], [[params]], [[arrayIntersect]], [[splitString]], [[joinString]], [[forceUnicode]] |SEEALSO=
}}
}}


Line 113: Line 112:
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
<dd class="note">''From a description note:''<br>
<dd class="note">''From a description note:''<br>
''<unit>'' [[in]] ''<vehicle>'' literally does this: <tt>[[vehicle]] <unit> <nowiki>==</nowiki> <vehicle></tt>. If ''<vehicle>'' is the same as ''<unit>'' the expression will return [[true]] for when the ''<unit>'' is on foot and [[false]] for when ''<unit>'' is in vehicle (see example '''7''' &amp; '''8''').
''<unit>'' [[in]] ''<vehicle>'' literally does this: <tt>[[vehicle]] <unit> {{=}}{{=}} <vehicle></tt>. If ''<vehicle>'' is the same as ''<unit>'' the expression will return [[true]] for when the ''<unit>'' is on foot and [[false]] for when ''<unit>'' is in vehicle (see example '''7''' &amp; '''8''').
</dd>
</dd>



Revision as of 16:24, 17 December 2020

Hover & click on the images for description

Description

Description:
Checks whether value is in array, unit is in vehicle, position is inside location or ANSI string is part of other ANSI string. If Unicode support is desired, see forceUnicode.
String comparison is case-sensitive (see Examples 2 and 6).
Arma 3
Since Arma 3 you can test for arrays within arrays.
Groups:
StringsArraysLocationsHashMapUnit Control

Syntax 1

Syntax:
value in array
Parameters:
value: Anything - any value (cannot match Array before Arma 3)
array: Array - array of values
Return Value:
Boolean

Syntax 2

Syntax:
unit in vehicle
Parameters:
unit: Object - entity person
vehicle: Object - entity vehicle
Return Value:
Boolean

Syntax 3

Syntax:
position in location Template:since
Parameters:
position: Array - format Position2D or Position3D
location: Location
Return Value:
Boolean

Syntax 4

Syntax:
needle in haystack Template:since
Parameters:
needle: String - string to search for
haystack: String - string to search in
Return Value:
Boolean

Syntax 5

Syntax:
key in hashMap
Parameters:
key: HashMapKey
hashMap : HashMap
Return Value:
Boolean

Examples

Example 1:
1 in [0, 1, 2]; // true
Example 2:
private _myArray = ["Aaa", "AAa", "AAA"]; "aaa" in _myArray; // false "AAa" in _myArray; // true // case-insensitive alternatives _myArray findIf { _x == "aaa"; } != -1; // true ({ if (_x == "aaa") exitWith { _forEachIndex }; -1 } forEach _myArray) != -1; // true, less performant but valid before findIf { if (_x == "aaa") exitWith {1} } count _myArray > 0; // true { _x == "aaa"; } count _myArray > 0; // true, worst performance // only option available in OFP
Example 3:
[1,2,3] in [[1,2,3], [4,5,6]]; // true - Arma 3 only
Example 4:
_isInCar = player in car;
Example 5:
_isInside = [1000,2000,0] in myLocation;
Example 6:
_isInString = "foo" in "foobar"; // true _isInString = "Foo" in "foobar"; // false
Example 7:
private _boarded = player in _groupVehicle;
Example 8:
private _onFoot = _unit in _unit; // vehicle _unit == _unit works // isNull objectParent _unit is even faster

Additional Information

See also:
inPolygoninAreasetresizereversepushBackpushBackUniqueapplyselectfindtoArraytoStringforEachcountdeleteAtdeleteRangeappendsortparamparamsarrayIntersectsplitStringjoinStringforceUnicode

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 October 8, 2019 - 21:08 (UTC)
Lou Montana
From a description note:
<unit> in <vehicle> literally does this: vehicle <unit> == <vehicle>. If <vehicle> is the same as <unit> the expression will return true for when the <unit> is on foot and false for when <unit> is in vehicle (see example 7 & 8).

Bottom Section