Named parameters: Difference between revisions
Content added Content deleted
(Add LabVIEW) |
(→{{header|MATLAB}} / {{header|Octave}}: named parameters) |
||
Line 459: | Line 459: | ||
fn[3,4,{Offset->2,Add->True}] |
fn[3,4,{Offset->2,Add->True}] |
||
->9</lang> |
->9</lang> |
||
=={{header|MATLAB}} / {{header|Octave}}== |
|||
Named parameters are not natively supported. However, the following code can be used to implement them. |
|||
<lang Matlab> function foo(varargin) |
|||
for k= 1:2:length(varargin); |
|||
switch (varargin{k}) |
|||
case {'param1'} |
|||
param1 = varargin{k+1}; |
|||
case {'param2'} |
|||
param2 = varargin{k+1}; |
|||
end; |
|||
end; |
|||
printf('param1: %s\n',param1); |
|||
printf('param2: %s\n',param2); |
|||
end; |
|||
foo('param1','a1','param2','b2'); |
|||
foo('param2','b2','param1','a1'); </lang> |
|||
Output: |
|||
<pre>>> foo('param1','a1','param2','b2'); |
|||
param1: a1 |
|||
param2: b2 |
|||
>> foo('param2','b2','param1','a1'); |
|||
param1: a1 |
|||
param2: b2</pre> |
|||
=={{header|Modula-3}}== |
=={{header|Modula-3}}== |