easyparse

Easy-to-use interface for parsing function inputs in the form of parameter-value pairs.

您现在正在关注此提交

Easy-to-use interface for converting parameter-value pairs into variables within a function. Unlike inputParser and other typical parameter-value parsers, easyparse is able to (and by default does) directly create variables within the called function, rather than as fields of a struct.

- To create variables in the function workspace according to varargin consisting of parameter-value pairs, use this syntax in your function:
easyparse(varargin);

- To create only variables with allowed_names, create a cell array of allowed names and use this syntax:
easyparse(varargin, allowed_names);

- To create a struct with fields specified by the names in varargin, (similar to the output of inputParser) ask for an output argument:
s = easyparse(...);

As an example, let's say you wanted a function, epdemo, that took inputs 'blee', 'bloo', and 'blah'. Then epdemo would be called with in the typical parameter value manner:
epdemo('blee', 1:10, 'blah', 4, 'bloo', 0);

To parse these inputs within epdemo requires a single line:

function epdemo(varargin)
easyparse(varargin,{'blee','bloo','blah'});

foo = blee*100;
bar = bloo - blah;
...
end

CAVEAT UTILITOR: this function relies on assignin statements. Input checking is performed to limit potential damage, but use at your own risk.

One of a series of simple functions to provide easier input parsing within MATLAB.

引用格式

Jared (2026). easyparse (https://ww2.mathworks.cn/matlabcentral/fileexchange/39772-easyparse), MATLAB Central File Exchange. 检索时间: .

类别

Help CenterMATLAB Answers 中查找有关 Argument Definitions 的更多信息

一般信息

MATLAB 版本兼容性

  • 兼容任何版本

平台兼容性

  • Windows
  • macOS
  • Linux
版本 已发布 发行说明 Action
1.7.0.0

Improved input checks: now, easyparse warns you that it will not parse variables with names identical to already-defined functions to avoid unintended results.

1.6.0.0

Typo fixed.

1.5.0.0

Typo fixed.

1.4.0.0

Typo fixed.

1.3.0.0

Typo fixed.

1.2.0.0

Added demo to description.

1.0.0.0