world.ArrayListKeys

MUSHclient script function (Method) — introduced in version 3.46

Gets the list of all the keys in an array

Prototype

VARIANT ArrayListKeys(BSTR Name);

Data type meanings

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

Arrays

See also

FunctionDescription
ArrayExportExports values from an array into a single string
ArrayExportKeysExports keys from an array into a single string
ArrayGetGets the value of an array item
ArrayListValuesGets the list of all the values in an array
ArraySetSets the value of an array item