set: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame( +[0-9])?|Game [Vv]ersion( +[0-9])?|Game Version \(number surrounded by NO SPACES\)|Arguments in MP|MP[Aa]rg|Multiplayer Arguments( \("local" or "global"\))?|Effects|Execution|Effects...) |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
(37 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RV|type=command | ||
| | |game1= ofp | ||
|version1= 1.75 | |||
|1. | |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= Arrays | |gr1= Arrays | ||
| Changes the element at the given | |gr2= HashMap | ||
If the index is out of bounds, the array will [[resize]] to incorporate the index as its last value, padding with [[nil]] as necessary | |||
|descr= Changes the element at the given zero-based index of the [[Array|array]]. | |||
{{Feature|informative|If the index is out of bounds, the array will [[resize]] to incorporate the index as its last value, padding with [[nil]] as necessary (see {{Link|#Example 4}}). }} | |||
| array | |s1= array [[set]] [index, value] | ||
|p1= array: [[Array]] | |p1= array: [[Array]] | ||
| [[Nothing]] | |p2= index: [[Number]] - 0-based array index. {{GVI|arma3|2.12|size= 0.75}} negative index can be used to select from the end of the array, i.e. -1 means last array element. | ||
|p3= value: [[Anything]] | |||
|r1= [[Nothing]] | |||
|s2= hashMap [[set]] [key, value, insertOnly] | |||
|s2since= arma3 2.02 | |||
| | |p21= hashMap: [[HashMap]] | ||
| | |p22= key: [[HashMapKey]] | ||
| | |||
| | |p23= value: [[Anything]] | ||
|p24= insertOnly: [[Boolean]] - (Optional, default [[false]]) if set to [[true]], set the value only if the key does not exist already | |||
|p24since= arma3 2.08 | |||
|r2= [[Boolean]] - [[false]] if the key is new to the hashmap, [[true]] if a value got overwritten | |r2= [[Boolean]] - [[false]] if the key is new to the hashmap, [[true]] if a value got overwritten | ||
| | |x1= <sqf>_arrayOne set [0, "Hello"];</sqf> | ||
| | |x2= Append "Bye" as last element to {{hl|_arrayTwo}}: | ||
< | <sqf>_arrayTwo set [count _arrayTwo, "Bye"];</sqf> | ||
| | |x3= Replace the last element of {{hl|_arrayThree}} with 23: | ||
<sqf>_arrayThree set [(count _arrayThree) - 1, 23];</sqf> | |||
</ | |||
| [[ | |x4= Using [[set]] with an index that is out of bounds: | ||
<sqf> | |||
private _array = ["A"]; | |||
_array set [2, "C"]; // _array is now ["A", nil, "C"] | |||
_array set [1, "B"]; // _array is now ["A", "B", "C"] | |||
</sqf> | |||
|x5= <sqf> | |||
private _myHashMap = createHashMap; | |||
_myHashMap set ["key", "value1", true]; // "key" value is set to "value1" | |||
_myHashMap set ["key", "value2", true]; // "key" value is still "value1" as "key" already exists in the hashmap | |||
</sqf> | |||
|seealso= [[resize]] [[reverse]] [[select]] [[deleteAt]] [[deleteRange]] | |||
}} | }} | ||
Latest revision as of 20:21, 29 April 2023
Description
Syntax
- Syntax:
- array set [index, value]
- Parameters:
- array: Array
- index: Number - 0-based array index. 2.12 negative index can be used to select from the end of the array, i.e. -1 means last array element.
- value: Anything
- Return Value:
- Nothing
Alternative Syntax
- Syntax:
- hashMap set [key, value, insertOnly]
- Parameters:
- hashMap: HashMap
- key: HashMapKey
- value: Anything
- since 2.08
- insertOnly: Boolean - (Optional, default false) if set to true, set the value only if the key does not exist already
- Return Value:
- Boolean - false if the key is new to the hashmap, true if a value got overwritten
Examples
- Example 1:
- _arrayOne set [0, "Hello"];
- Example 2:
- Append "Bye" as last element to _arrayTwo:
- Example 3:
- Replace the last element of _arrayThree with 23:
- Example 4:
- Using set with an index that is out of bounds:
- Example 5:
- private _myHashMap = createHashMap; _myHashMap set ["key", "value1", true]; // "key" value is set to "value1" _myHashMap set ["key", "value2", true]; // "key" value is still "value1" as "key" already exists in the hashmap
Additional Information
- See also:
- resize reverse select deleteAt deleteRange
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
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.75
- 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: Arrays
- Command Group: HashMap