Process named Arguments

Easily add optional, named arguments to your functions, like this: f('var_name', value).
610 descargas
Actualizado 7 ene 2014

Ver licencia

Assigns named arguments passed to your function to local variables (as in plot(), etc.). The name of the argument is the name of the local variable in your function.

Example: inputfun('prompt', '>', 'defval', 5.1, 'timeout', 5);

This is the same idea as Matlab's inputParser, but with a focus on being really simple and easy to use. Other implementations of this idea on File Exchange require a lot of lines of code to set this up, where as my code just requires one extra function call near the top of your function.

Usage:
(1) in your function, define local variables with their default values;
(2) call procArgs(varargin)

Minimal error checking: requires that all passed variable names match already defined variables in your function. It would be pretty easy to add type checking if you wanted it (I don't, particularly).

Example:


function test(varargin)
name = 'John';
age = 32;
procArgs(varargin)
fprintf('name=%s, age=%i\n', name, age);

%% example calls
test('name', 'Amber'); % prints Amber, 32
test('age', 99); % prints John, 99
test('Ages', 0); % error, will report that Ages is not defined.

Citar como

Alan Robinson (2024). Process named Arguments (https://www.mathworks.com/matlabcentral/fileexchange/25881-process-named-arguments), MATLAB Central File Exchange. Recuperado .

Compatibilidad con la versión de MATLAB
Se creó con R2007a
Compatible con cualquier versión
Compatibilidad con las plataformas
Windows macOS Linux
Categorías
Más información sobre Argument Definitions en Help Center y MATLAB Answers.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versión Publicado Notas de la versión
1.5.0.0

Improved help text; code is identical.

1.3.0.0

better handling of different variable types.

1.2.0.0

Exist only checks against variable names, which is safer and faster.

1.1.0.0

Improved title/description.

1.0.0.0