M-File Help: tb_optparse View code for tb_optparse

tb_optparse

Standard option parser for Toolbox functions

[optout,args] = tb_optparse(opt, arglist) is a generalized option parser for Toolbox functions. It supports options that have an assigned value, boolean or enumeration types (string or int).

The software pattern is:

function(a, b, c, varargin)
opt.foo = true;
opt.bar = false;
opt.blah = [];
opt.choose = {'this', 'that', 'other'};
opt.select = {'#no', '#yes'};
opt = tb_optparse(opt, varargin);

Optional arguments to the function behave as follows:

'foo' sets opt.foo <- true
'nobar' sets opt.foo <- false
'blah', 3 sets opt.blah <- 3
'blah', {x,y} sets opt.blah <- {x,y}
'that' sets opt.choose <- 'that'
'yes' sets opt.select <- 2 (the second element)

and can be given in any combination.

If neither of 'this', 'that' or 'other' are specified then opt.choose &lt;- 'this'. Alternatively if:

opt.choose = {[], 'this', 'that', 'other'};

then if neither of 'this', 'that' or 'other' are specified then opt.choose &lt;- []

If neither of 'no' or 'yes' are specified then opt.select &lt;- 1.

Note:

are required they must be converted to a cell array.

The allowable options are specified by the names of the fields in the structure opt. By default if an option is given that is not a field of opt an error is declared.

Sometimes it is useful to collect the unassigned options and this can be achieved using a second output argument

[opt,arglist] = tb_optparse(opt, varargin);

which is a cell array of all unassigned arguments in the order given in varargin.

The return structure is automatically populated with fields: verbose and debug. The following options are automatically parsed:

'verbose' sets opt.verbose <- true
'verbose=2' sets opt.verbose <- 2 (very verbose)
'verbose=3' sets opt.verbose <- 3 (extremeley verbose)
'verbose=4' sets opt.verbose <- 4 (ridiculously verbose)
'debug', N sets opt.debug <- N
'setopt', S sets opt <- S
'showopt' displays opt and arglist

 

© 1990-2012 Peter Corke.