in: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Move description's note to note to make it "lighter")
Line 8: Line 8:


| Checks whether value is in array, unit is in vehicle, position is inside location or string is part of other string.
| Checks whether value is in array, unit is in vehicle, position is inside location or string is part of other string.
{{Informative | [[String]] comparison is case-sensitive (see Examples 2, 6).}}
{{Informative | [[String]] comparison is case-sensitive (see Examples '''2''' and '''6''').}}
{{Feature arma3 | Since {{arma3}} you can test for arrays within arrays.}}
{{Feature arma3 | Since {{arma3}} you can test for arrays within arrays.}} |DESCRIPTION=
{{Informative | ''<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)}} |DESCRIPTION=
____________________________________________________________________________________________
____________________________________________________________________________________________


Line 73: Line 72:
|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]] _onFoot = _unit [[in]] _unit;</code>|Example7=  
|x7= <code>[[private]] _boarded = [[player]] [[in]] _groupVehicle;</code> |Example7=
 
|x8= <code>[[private]] _onFoot = _unit [[in]] _unit;
{{cc|[[isNull]] [[vehicle]] _unit works}}
{{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]]|SEEALSO=
|[[inPolygon]], [[inArea]], [[set]], [[resize]], [[reverse]], [[pushBack]], [[pushBackUnique]], [[apply]], [[select]], [[find]], [[toArray]], [[toString]], [[forEach]], [[count]], [[deleteAt]], [[deleteRange]], [[append]], [[sort]], [[param]], [[params]], [[arrayIntersect]], [[splitString]], [[joinString]]|SEEALSO=
Line 86: Line 89:
<dl class="command_description">
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on October 8, 2019 - 21:08 (UTC)</dd>
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
<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''').
</dd>
<!-- Note Section END -->
<!-- Note Section END -->
</dl>
</dl>

Revision as of 22:08, 8 October 2019

Hover & click on the images for description

Description

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

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        (Since Arma 3)
Parameters:
position: Array - format Position2D or Position3D
location: Location
Return Value:
Boolean

Syntax 4

Syntax:
needle in haystack        (Since Arma 3 v1.95.146032)
Parameters:
needle: String - string to search for
haystack: String - string to search in
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:
Arma 3:[1,2,3] in [[1,2,3], [4,5,6]]; // true
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; // isNull vehicle _unit works // isNull objectParent _unit is even faster

Additional Information

See also:
inPolygoninAreasetresizereversepushBackpushBackUniqueapplyselectfindtoArraytoStringforEachcountdeleteAtdeleteRangeappendsortparamparamsarrayIntersectsplitStringjoinString

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