对于Matlab,是否存在C#(或C ++)关键字'using'的等价物?

时间:2013-06-11 12:04:07

标签: c# c++ matlab keyword using

所有人都在标题中说。

我修改了一个使用大量参数的函数,以便只给它一个包含所有这些参数的结构。现在,我不想重写函数中的所有内容(param1到struct.param1)所以我想放一些像'using struct'这样的东西,它允许整个函数从'struct.param1'获取'param1' / p>

这是否清楚?英语不是我的母语。

2 个答案:

答案 0 :(得分:2)

这样做的一种令人讨厌的方式是

function my_using( params )
%
% params should be a struct (NOT an array of struct!)
%
fn = fieldnames( params );
for ii = 1:numel( fn )
    assignin('caller', fn{ii}, params.(fn) );
end

现在你可以在你的函数中调用my_using,并且结构中的所有参数都将被创建为函数中的变量

答案 1 :(得分:0)

另一种方法可以是

tn = tempname();
save( tn , '-struct', 'params' ); % note the -struct option!
load( tn );