User Tools

Site Tools


array

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
array [2020/01/17 20:41] justinarray [2024/02/17 10:27] (current) justin
Line 2: Line 2:
 ---- ----
  
-An **array** is a scripting data type consisting of a collection or list of values. You can iterate through the values in an array using a "For" loop, or check if an array contains a certain value using the "contains" operator in a conditional expression.+An **array** is a scripting data type consisting of a collection or list of values. You can iterate through the values in an array using a "For" loop, or check if an array contains a certain value using the "contains" operator in a [[conditional expression]].
  
 ====Examples:==== ====Examples:====
-<code lua>+<code bauxite> 
 +array["ITEM_0001", "ITEM_0005", "ITEM_0008"
 +</code> 
 +User-defined list of [[item]] IDs (e.g. from which to randomly pick an item for the player). 
 + 
 +<code bauxite>
 group["room_01"] group["room_01"]
 </code> </code>
-List of all entities in the current [[map]] that belong to the [[groups|group]] named "room_01".+List of all entities in the current [[map]] that belong to the [[groups|group]] named "room_01". The values in this kind of array are of data type [[Entity]].
  
-<code lua>+<code bauxite> 
 +entity["xyz"].groups 
 +</code> 
 +List of all [[groups|group]] names to which the entity belongs, as assigned in the [[Map Editor]]. The values in this kind of array are of data type [[String]]. 
 + 
 +<code bauxite>
 entity["xyz"].tags entity["xyz"].tags
 </code> </code>
-List of all tags for the entity's model, as assigned in the [[Voxel Editor]]. +List of all tags for the entity's model, as assigned in the [[Voxel Editor]]. The values in this kind of array are of data type [[String]]. 
 + 
 +<code bauxite> 
 +range(5) 
 +</code> 
 +List of integers from 0 to, but not including, 5 (i.e. 0, 1, 2, 3, 4). 
 + 
 +<code bauxite> 
 +range(12, 15) 
 +</code> 
 +List of integers from 12 to, but not including, 15 (i.e. 12, 13, 14). 
 + 
 +<code bauxite> 
 +range(0, 9, 2) 
 +</code> 
 +List of integers from 0 to, but not including, 9, with an increment of 2 (i.e. 0, 2, 4, 6, 8). 
 + 
 +<code bauxite> 
 +range(5, 0, -1) 
 +</code> 
 +List of integers from 5 to, but not including, 0, with an increment of -1 (i.e. 5, 4, 3, 2, 1). 
 + 
 +=====Functions===== 
 +The following functions can be used to manipulate or retrieve the values in an array. 
 +^Name^Description^ 
 +|push_front(value)|Appends a value to the beginning of an array.| 
 +|push_back(value)|Appends a value to the end of an array.| 
 +|pop_front()|Removes and returns the first value of an array.| 
 +|pop_back()|Removes and returns the last value of an array.| 
 +|insert(index, value)|Inserts a value into an array at the specified index (starting at 0).| 
 +|remove(index)|Removes a value from an array at the specified index (starting at 0).| 
 +|erase(value)|Removes the first occurrence of the specified value from an array.| 
 +|clear()|Removes all values from an array.| 
 +|size()|Returns the number of items in an array.| 
 + 
 +====Examples:==== 
 +<code bauxite> 
 +$my_array.push_front($my_value); 
 +</code> 
 +<code bauxite> 
 +$my_array.push_back($my_value); 
 +</code> 
 +<code bauxite> 
 +$first_value = $my_array.pop_front(); 
 +</code> 
 +<code bauxite> 
 +$last_value = $my_array.pop_back(); 
 +</code> 
 +<code bauxite> 
 +$my_array.insert(1, $my_value); 
 +</code> 
 +<code bauxite> 
 +$my_array.remove(2); 
 +</code> 
 +<code bauxite> 
 +$my_array.erase($my_value); 
 +</code> 
 +<code bauxite> 
 +$my_array.clear(); 
 +</code> 
 +<code bauxite> 
 +$item_count = $my_array.size(); 
 +</code>
  
 ~~NOTOC~~ ~~NOTOC~~
array.1579322477.txt.gz · Last modified: 2020/01/17 20:41 by justin