Option parser
Supports keyword options that have a value, are a boolean flag, or enumeration types (string or int).
The software pattern is:
function(a, b, c, varargin)
opt.foo = false;
opt.bar = true;
opt.blah = [];
opt.choose = {'this', 'that', 'other'};
opt.select = {'#no', '#yes'};
opt = 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 <- 'this'.
Alternatively if:
opt.choose = {[], 'this', 'that', 'other'};
then if neither of 'this', 'that' or 'other' are specified then opt.choose <- []
If neither of 'no' or 'yes' are specified then opt.select <- 1.
Note:
- That the enumerator names must be distinct from the field names.
- That only one value can be assigned to a field, if multiple values are required they must be converted to a cell array.
- To match an option that starts with a digit, prefix it with 'd_', so the field 'd_3d' matches the option '3d'.
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.
引用
Peter Corke (2024). Option parser (https://www.mathworks.com/matlabcentral/fileexchange/40383-option-parser), MATLAB Central File Exchange. に取得済み.
MATLAB リリースの互換性
プラットフォームの互換性
Windows macOS Linuxカテゴリ
タグ
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!バージョン | 公開済み | リリース ノート | |
---|---|---|---|
1.0.0.0 |