- more efficient
- less error-prone
- without hideous side-effects
- easy to code, read and maintain
- ...
Is there the more elegant way to do this?
2 views (last 30 days)
Show older comments
I would like to call arguments of function from a string or cell array. For example, this code works as I want:
function testarg()
a=1;b=2;c=3;
m='a,b,c';
eval(['myfun(',m,')']);
function myfun(a,b,c)
a
b
c
Is there another way to do this? Say, without using eval ?
2 Comments
Jos (10584)
on 29 Jan 2014
Just a tip: whenever you found yourself using eval, you will be 99.999% sure that there is a way to do it some other way without using eval that is:
eval(char('chro''&HB@MCNVHSGNTSDU@K &('+1))
Accepted Answer
Matt J
on 28 Jan 2014
function myfun(varargin)
varargin{:}
More Answers (1)
Amit
on 28 Jan 2014
function testarg()
a=1;b=2;c=3;
abc(a,b,c)
function abc(a,b,c)
a
b
c
This wil ldo just fine.
4 Comments
See Also
Categories
Find more on Scope Variables and Generate Names in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!