Matrix/
make_selection.pro
make_selection
result = make_selection(names, selnames, only_valid=only_valid, required=required, quiet=quiet)
file_comments
Convert an array of selected values to an index
array that identifies the selected values in a list
or data array.
categories tools
Return value
A (long) array with indexes to reference the selected values
in the NAMES array.
Parameters
names
in
required
A list or array of values to choose from
selnames
in
required
A list of selected values
Keywords
only_valid
Return only indexes of found values. Values not
found are skipped. Default is to return 1 index value for
each SELNAME, which is -1 if SELNAME is not contained in
NAMES. If ONLY_VALID is set, the -1 values will be deleted,
and a value of -1 indicates that no SELNAME has been found
at all.
required
Normally, MAKE_SELECTION will return indexes for
all values that are found, simply ignoring the selected
values that are not in the NAMES array (although an error
message is displayed). Set this keyword to return with
-1 as soon as a selected value is not found.
quiet
Suppress printing of the error message if a
selected value is not found (the error condition will
still be set).
Examples
names = [ 'Alfred','Anton','Peter','John','Mary']
index = MAKE_SELECTION(names,['Peter','Mary'])
print,index
; prints 2 4
vals = indgen(20)
index = MAKE_SELECTION(vals,[9,-5,8,7,7,8,9])
print,index
; prints 9 -1 8 7 7 8 9
index = MAKE_SELECTION(vals,[9,-5,8,7,7,8,9],/ONLY_VALID)
print,index
; prints 9 8 7 7 8 9
index = MAKE_SELECTION(vals,[9,-5,8,7,7,8,9],/REQUIRED)
print,index
; prints -1
Version history
Version
$Id: make_selection.pro 163 2006-08-29 12:59:46Z navarro $
History
mgs, 28 Aug 1998: VERSION 1.00
mgs, 29 Aug 1998: - changed behavior and added ONLY_VALID keyword
Known issues
Restrictions
If the NAMES array contains multiple entries of the same value,
only the index to the first entry will be returned.
A selection can contain multiple instances of the same value.
The index array will contain one entry per selected item
(See example below)
Produced by IDLdoc 2.0 on Wed Sep 13 16:32:17 2006.