world.ArrayListKeys
Gets the list of all the keys in an array
Prototype
VARIANT ArrayListKeys(BSTR Name);
Description
Returns an array of all the keys in the nominated array. You could use this to then examine the value for each key (using ArrayGet).
You can also use ArrayListValues if all you are interested in is the values but not the keys they belong to.
VBscript example
dim keyList
keyList = ArrayListKeys ("spells")
If Not IsEmpty (keyList) Then
For Each k In keyList
world.note k & " = " & ArrayGet ("spells", k)
Next
End If
Lua example
for k, v in pairs (ArrayListKeys ("spells")) do
Note (v)
end
-- alternative - show keys and values:
table.foreach (ArrayList ("spells"), print)
-- show a particular value:
spells = ArrayList ("spells")
print (spells.dragonskin)
Lua notes
If the array does not exist, or is empty, Lua returns nil.
There is an extension for Lua only - ArrayList - which returns both keys and values.
See above example. The key of the table is the array key, the value is the array value.
Return value
If there are no elements in the nominated array then the return value is empty. Use "IsEmpty" to test for this possibility.
Otherwise, it returns a variant array containing the names of all the keys in this array.
Use "lbound" and "ubound" to find the bounds of the array of keys (ie. the number of keys in the list). You can then use "ArrayGet" to find the values for each key.
Related topic
See also
| Function | Description |
|---|---|
| ArrayExport | Exports values from an array into a single string |
| ArrayExportKeys | Exports keys from an array into a single string |
| ArrayGet | Gets the value of an array item |
| ArrayListValues | Gets the list of all the values in an array |
| ArraySet | Sets the value of an array item |