hasoption - select an option from a list/set of options
|
Calling Sequence
|
|
hasoption(L, x, 'v', 'N')
hasoption(L, x=t, 'v', 'N')
|
|
Parameters
|
|
L
|
-
|
list of equations - the options
|
x
|
-
|
name of an option
|
v, N
|
-
|
(optional) names to be assigned results
|
t
|
-
|
(optional) a type
|
|
|
|
|
Description
|
|
•
|
The purpose of the hasoption command is to test whether a list of options, input in the form of a list of equations, for example, has a given option, and to select the corresponding value. This function is intended to help in the writing of programs which must process optional arguments.
|
•
|
The hasoption command is a boolean function. It returns true if the list of equations L contains x on the left-hand side of one equation, false otherwise. Note, inside a program, the names of options should be quoted. Hence the normal usage in a program of this command is
|
if hasoption(opts,'numpoints', ...) then ... else ... end if;
|
|
|
•
|
If the third argument v is given, it is assigned the right-hand side (the value of the option) of the last equation in L with x on the left-hand side. If the fourth argument N is specified, it is assigned a list of equations which are remaining options after removing those matching x.
|
•
|
The second form of the hasoption command has the same functionality as the first form except in addition, the right-hand side(s) of any equation with x on the left-hand side is tested to be of type t. If it is not of type t, an error is generated.
|
•
|
The hasoption command is limited to options which are equations of the form name = value, for example, , and color = red. To allow different spellings, synonyms, and abbreviations to be used for the name of an option, for example, to allow the user to input also colour = red, the second argument of the hasoption command, namely x, may be a name or set of names. Thus you can write
|
if hasoption(opts,{'color','colour'}, ...) then ... else ... end if;
|
|
|
•
|
In general, it is recommended that you use the ProcessOptions command instead of the hasoption command.
|
|
|
Examples
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
| (3) |
>
|
|
| (4) |
>
|
|
| (5) |
>
|
|
| (6) |
>
|
|
| (7) |
>
|
|
| (8) |
>
|
|
| (9) |
>
|
|
>
|
|
| (10) |
|
|