in: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - ">Posted on October ([0-9]{1})[ a-zA-Z]*, ([0-9]{4})" to ">Posted on $2-10-0$1") |
Lou Montana (talk | contribs) m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>") |
||
(5 intermediate revisions by the same user not shown) | |||
Line 33: | Line 33: | ||
|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]]. | |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 | | {{Feature|informative|[[String]] comparison is case-sensitive (see Examples '''2''' and '''6''').}} | ||
|s1= value [[in]] array | |s1= value [[in]] array | ||
|p1= value: [[Anything]] - | |p1= value: [[Anything]] - any value (cannot match [[Array]] before {{arma3}}) | ||
|p2= array: [[Array]] - | |p2= array: [[Array]] - array of values | ||
|r1= [[Boolean]] | |r1= [[Boolean]] | ||
Line 45: | Line 45: | ||
|s2= unit [[in]] vehicle | |s2= unit [[in]] vehicle | ||
|p21= unit: [[Object]] - | |p21= unit: [[Object]] - entity person | ||
|p22= vehicle: [[Object]] - | |p22= vehicle: [[Object]] - entity vehicle | ||
|r2= [[Boolean]] | |r2= [[Boolean]] | ||
Line 55: | Line 55: | ||
|s3since= arma3 0.50 | |s3since= arma3 0.50 | ||
|p41= position: [[Array]] - | |p41= position: [[Array]] - format [[Position#Introduction|Position2D]] or [[Position#Introduction|Position3D]] | ||
|p42= location: [[Location]] | |p42= location: [[Location]] | ||
Line 65: | Line 65: | ||
|s4since= arma3 1.96 | |s4since= arma3 1.96 | ||
|p61= needle: [[String]] - | |p61= needle: [[String]] - string to search '''for''' | ||
|p62= haystack: [[String]] - | |p62= haystack: [[String]] - string to search '''in''' | ||
|r4= [[Boolean]] | |r4= [[Boolean]] | ||
Line 83: | Line 83: | ||
|x1= <sqf>1 in [0, 1, 2]; // true</sqf> | |x1= <sqf>1 in [0, 1, 2]; // true</sqf> | ||
|x2= <sqf>private _myArray = ["Aaa", "AAa", "AAA"]; | |x2= <sqf> | ||
private _myArray = ["Aaa", "AAa", "AAA"]; | |||
"aaa" in _myArray; // false | "aaa" in _myArray; // false | ||
Line 98: | Line 99: | ||
{ if (_x == "aaa") exitWith { 1 } } count _myArray > 0; // true | { if (_x == "aaa") exitWith { 1 } } count _myArray > 0; // true | ||
{ _x == "aaa"; } count _myArray > 0; // true, worst performance, only option available in OFP</sqf> | { _x == "aaa"; } count _myArray > 0; // true, worst performance, only option available in OFP | ||
</sqf> | |||
|x3= <sqf>[1,2,3] in [[1,2,3], [4,5,6]]; // true - Arma 3 only</sqf> | |x3= <sqf>[1,2,3] in [[1,2,3], [4,5,6]]; // true - Arma 3 only</sqf> | ||
Line 106: | Line 108: | ||
|x5= <sqf>private _isInside = [1000,2000,0] in MyLocation;</sqf> | |x5= <sqf>private _isInside = [1000,2000,0] in MyLocation;</sqf> | ||
|x6= <sqf>private _isInString = "foo" in "foobar"; // true | |x6= <sqf> | ||
_isInString = "Foo" in "foobar"; // false</sqf> | private _isInString = "foo" in "foobar"; // true | ||
_isInString = "Foo" in "foobar"; // false | |||
</sqf> | |||
|x7= <sqf>private _onFoot = _unit in _unit;</sqf> | |x7= <sqf>private _onFoot = _unit in _unit;</sqf> |
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