EXTRACT <word-parameter-list-name> INTO <parameter-list> [ORDERED|REVERSED]
where <parameter-list> is:
<word> [<word>]r
EXTRACT <group-parameter-list-name>.<item> INTO<parameter-list> [ORDERED|REVERSED]
EXTRACT <group-parameter-list-name> INTO <$-parameter-list>
where <$-parameter-list> is:
<$-word> [<$-word>]r
copies valid parameter values from the group parameter list LIST1.E2 into the words GAMA, GAMB, etc.EXTRACT LIST1.E2 INTO GAMA GAMB GAMC GAMD
In the third form of the command the group information, denoted using the `$' symbol4 , is retained in the output parameters. The output data must be accessed by specifying the group and an associated item, eg.
copies the group numbers of valid parameters in group parameter list LIST1 into the group-words $GA and $GB. This group information is then used by the IF...PASSES commands to index into the gate array GARRAY.EXTRACT LIST1 INTO $GA $GB IF $GA.E2 PASSES GARRAY($GA) { IF $GB.E2 PASSES GARRAY($GB) { ... } }
If there are fewer valid words than output words they will be placed in the first output words specified in the command. If there are more valid words than available output words then the output words are chosen randomly from the valid words in the input list. EXTRACT can be combined with the arithmetic NUMBER function to obtain the number of words in the parameter list which are present in the event, eg.
The optional keywords ORDERED (REVERSED) enable the user to specify whether the values of words in the input list are to be output in order of increasing (decreasing) numerical value. If no keyword is specified then the values are output in the order in which they appear in the input list.EXTRACT GELIST.E2 INTO GAMA GAMB GAMC GAMD GAME GAMF IF NUMBER(GELIST) GT 4 { ...