An array is a data structure consisting of a group of elements having a single name that are accessed by indexing. These elements can be of all other types like float, string or vector.
Example for a standard array :
array FRUITS = ["apple" , "banana", "strawberry"];
here FRUITS = "banana"
Example for an associative array :
EXAMPLE["fruit"] = "apple";
EXAMPLE["beverage"] = "coffee";
EXAMPLE["meat"] = "chicken";
These functions have been created and contributed by LSL users to perform operations not covered by built-in LSL functions :
Reasons not to implement this suggestion as it is currently formulated:
- Associative Arrays would be double the memory footprint of ordinary lists. Memory limitations are a major concern.
- It would require major changes to LSL in bytecode, functions and syntax.
- There are no LSO bytecodes currently implemented that can perform these tasks. This is not a trivial change.
- Obviously the LSL compiler would need to be changed to support this new syntax. This is not a trivial change.
- Since the array type is new, there are no functions that can deal with it.
- The difference between list and array syntax could be confusing to both the compiler and user, excluding associative arrays there is no meaningful reason why array style syntax can't be implemented with lists.