ASARR Function

Creates associative array containing specified variables and expressions.

Usage

    result = ASARR(key1, value1, ... keyn , valuen)

    result = ASARR(keys_arr, values_list)

Input Parameters

keyi—One or more strings, each containing the key name for an element of the associative array.

valuei—Expressions or variables used to set the values of the associative array elements.

keys_arr—A Fstring array containing one or more key names for elements of the associative array.

values_list—A variable of type list containing expressions or variables used to set the values of the associative array elements. The LIST function is used to create list variables.

Returned Value

result—A new associative array containing the specified elements and their associated names.

Keywords

None.

Discussion

An associative array is an array of elements (variables or expressions), each with a unique name. The names act like array subscripts; they let you access the elements of the associative array. An associative array is a distinct data type in PV‑WAVE. You can use a method similar to array subscripting to reference the elements of an associative array.

Example

This example demonstrates how to create an associative array. The INFO and PRINT commands are used to show the contents of the array.

; Create the associative array by specifying the array elements
; (key names and values) as separate parameters. Note that each
; element is of a different data type.
asar1 = ASARR('byte', 1B, 'float', 2.2, 'string', '3.3', $
   'struct', {,a:1, b:lindgen(2)})

; Create an associative array that is equivalent to the previous
; one, only this time the input parameters consist of a string
; array of key names and a list array of values.
asar2 = ASARR(['byte', 'float', 'string', 'struct'], $
   LIST(1B, 2.2, '3.3', {,a:1, b:lindgen(2)}))

; Show information on the associative array asar1.
INFO, asar1, /Full
; ASAR1  AS. ARR   = Associative Array(4)
; byte   BYTE  = 1
; struct   STRUCT  = ** Structure $1, 2 tags, 12   length:
;   A INT    1
;   B LONG    Array(2)
; float      FLOAT  = 2.20000
; string      STRING  = '3.3'

; Print the contents of the associative array asar1.
PRINT, asar1
; {'byte' 1 'struct'{ 1 0 1} 'float' 2.20000 'string'3.3 }

; Print the contents of the associative array asar2.
PRINT, asar2
; {'byte' 1 'struct'{1 0 1} 'float' 2.20000 'string'3.3 }

The contents of the second associative array are the same as the first.