in: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Lou Montana (talk | contribs) m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>") |
||
(50 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RV|type=command | ||
| ofp | | |game1= ofp | ||
|version1= 1.00 | |||
|1.00 | |game2= ofpe | ||
|version2= 1.00 | |||
| | |game3= arma1 | ||
|version3= 1.00 | |||
| | |game4= arma2 | ||
|version4= 1.00 | |||
| | |game5= arma2oa | ||
|version5= 1.50 | |||
| | |game6= tkoh | ||
|version6= 1.00 | |||
| | |game7= arma3 | ||
|version7= 0.50 | |||
| | |gr1= Strings | ||
| | |gr2= Arrays | ||
| | |gr3= Locations | ||
| | |gr4= HashMap | ||
| | |gr5= Unit Control | ||
| | |descr= 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]]. | ||
{{Feature|informative|[[String]] comparison is case-sensitive (see Examples '''2''' and '''6''').}} | |||
| | |s1= value [[in]] array | ||
| | |p1= value: [[Anything]] - any value (cannot match [[Array]] before {{arma3}}) | ||
| | |p2= array: [[Array]] - array of values | ||
| | |r1= [[Boolean]] | ||
| | |s2= unit [[in]] vehicle | ||
| | |p21= unit: [[Object]] - entity person | ||
| | |p22= vehicle: [[Object]] - entity vehicle | ||
| | |r2= [[Boolean]] | ||
| | |s3= position [[in]] location | ||
| | |s3since= arma3 0.50 | ||
| | |p41= position: [[Array]] - format [[Position#Introduction|Position2D]] or [[Position#Introduction|Position3D]] | ||
| | |p42= location: [[Location]] | ||
|r3= [[Boolean]] | |||
|s4= needle [[in]] haystack | |||
_myArray | |||
|s4since= arma3 1.96 | |||
|p61= needle: [[String]] - string to search '''for''' | |||
|p62= haystack: [[String]] - string to search '''in''' | |||
|r4= [[Boolean]] | |||
|s5= key [[in]] hashMap | |||
|s5since= arma3 2.02 | |||
|p81= key: [[HashMapKey]] | |||
|p82= hashMap : [[HashMap]] | |||
|r5= [[Boolean]] | |||
|x1= <sqf>1 in [0, 1, 2]; // true</sqf> | |||
|x2= <sqf> | |||
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 | -1 | ||
} | } forEach _myArray) != -1; // true, less performant but valid before the introduction of the findIf command | ||
{ | { if (_x == "aaa") exitWith { 1 } } count _myArray > 0; // true | ||
{ | { _x == "aaa"; } count _myArray > 0; // true, worst performance, only option available in OFP | ||
</sqf> | |||
|x3= | |x3= <sqf>[1,2,3] in [[1,2,3], [4,5,6]]; // true - Arma 3 only</sqf> | ||
|x4= < | |x4= <sqf>private _isInCar = player in Car;</sqf> | ||
|x5= < | |x5= <sqf>private _isInside = [1000,2000,0] in MyLocation;</sqf> | ||
|x6= < | |x6= <sqf> | ||
_isInString = "Foo" | private _isInString = "foo" in "foobar"; // true | ||
_isInString = "Foo" in "foobar"; // false | |||
</sqf> | |||
|x7= < | |x7= <sqf>private _onFoot = _unit in _unit;</sqf> | ||
Other options: | |||
<sqf>private _onFoot = vehicle _unit == _unit;</sqf> | |||
<sqf>private _onFoot = isNull objectParent _unit;</sqf> | |||
| | |seealso= [[inPolygon]] [[inArea]] [[find]] [[findIf]] [[toArray]] [[forceUnicode]] | ||
}} | }} | ||
<dl class="command_description"> | <dl class="command_description"> | ||
<dd class="notedate">Posted on | <dt></dt> | ||
<dd class="notedate">Posted on 2019-10-08 - 21:08 (UTC)</dd> | |||
<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: | ''<unit>'' [[in]] ''<vehicle>'' literally does this: {{hl|c= [[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'''). | ||
</dd> | </dd> | ||
</dl> | </dl> | ||
Latest revision as of 19:42, 3 September 2024
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.
- 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
- Parameters:
- position: Array - format Position2D or Position3D
- location: Location
- Return Value:
- Boolean
Syntax 4
- Syntax:
- needle in haystack
- 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 the introduction of the findIf command { 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:
- Example 5:
- Example 6:
- Example 7:
-
Other options:
Additional Information
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
- Posted on 2019-10-08 - 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).
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.00
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Strings
- Command Group: Arrays
- Command Group: Locations
- Command Group: HashMap
- Command Group: Unit Control