Arrays
MUSHclient offers internal "key/value pairs" which it calls arrays.

You can have any number of arrays for each world, and also for each plugin.

Each array has an alphanumeric name (eg. "spells").

Inside each array is any number of key/value pairs (eg. mana = 22).

Script routines let you add, delete, import, and export from arrays into string variables. You can also enumerate (get a list of) all known arrays, or all keys in a particular array.

These functions are available from version 3.46 onwards.

Array and key names

Each array (eg. "spells") and each array item key (eg. "cold") has a name. The name is case-sensitive, and is stored exactly "as is" (no spaces are removed, for example). You can use any (8-bit) character for array and key names except for the "nul" character (hex 00).

Array and key names are unique, so if you have an array, and put something into key "a", and then something else into key "a", the original contents will be replaced.

Numeric array and key names

In order to allow arrays to be used as straight numeric sequences, numeric keys are treated specially. If an array or key name consists entirely of numbers, with an optional leading + or - sign, then the name is converted to a number and sorted into numeric order, rather than alpanumeric order. Numeric keys are sorted before all other keys.

Thus, the keys "1", "0001", "+1" are all considered the same.


See Also ...

Topics

DOC_plugins Plugins
DOC_scripting Scripting
DOC_variables Variables

Functions

FNC_ArrayClear ArrayClear (Clears an array)
FNC_ArrayCount ArrayCount (Returns the number of arrays)
FNC_ArrayCreate ArrayCreate (Creates an array)
FNC_ArrayDelete ArrayDelete (Deletes an array)
FNC_ArrayDeleteKey ArrayDeleteKey (Deletes a key/value pair from an array)
FNC_ArrayExists ArrayExists (Tests to see if the specified array exists)
FNC_ArrayExport ArrayExport (Exports values from an array into a single string)
FNC_ArrayExportKeys ArrayExportKeys (Exports keys from an array into a single string)
FNC_ArrayGet ArrayGet (Gets the value of an array item)
FNC_ArrayGetFirstKey ArrayGetFirstKey (Gets the key of the first element in the array (if any))
FNC_ArrayGetLastKey ArrayGetLastKey (Gets the key of the last element in the array (if any))
FNC_ArrayImport ArrayImport (Imports values into an array from a single string)
FNC_ArrayKeyExists ArrayKeyExists (Tests to see if the specified array key exists)
FNC_ArrayListAll ArrayListAll (Gets the list of arrays)
FNC_ArrayListKeys ArrayListKeys (Gets the list of all the keys in an array)
FNC_ArrayListValues ArrayListValues (Gets the list of all the values in an array)
FNC_ArraySet ArraySet (Sets the value of an array item)
FNC_ArraySize ArraySize (Returns the number of elements in a specified array)

(Help topic: general=Arrays)

DOC_contents Documentation contents page