select an option from a list/set of options - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Programming : Logic : Boolean : hasoption

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, color=red,numpoints=99 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, numpoints=99, 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

Options:=title=sinwx,numpoints=99,style=POINT,color=red

Options:=title=sinwx,numpoints=99,style=POINT,color=red

(1)

hasoptionOptions,'style','s','Options'

true

(2)

s

POINT

(3)

Options

title=sinwx,numpoints=99,color=red

(4)

hasoptionOptions,'numpoints'=posint,'n','Options'

true

(5)

n

99

(6)

hasoptionOptions,'color','colour','c','Options'

false

(7)

c

c

(8)

Options

title=sinwx,color=red

(9)

hasoptionOptions,'title'=string,'t','Options'

Error, (in hasoption) The title option must be a string but got sin(w*x)

Options

title=sinwx,color=red

(10)

See Also

ProcessOptions


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam