我有一个嵌套函数,它调用一个基本上包含一些常量和字符串定义的脚本。我需要将这些变量传递给基础工作区。我知道我可以将它们定义global
为应该不是最好的解决方案,是吗?
在我的情况下,使用函数的输出参数的传统方式似乎太复杂了。(这实际上只是一次调用,所以我不想破坏我的代码)所以我考虑过使用assignin
,who
但它似乎既不适用于元胞数组,也不适用于逗号分隔的列表。可能我只是缺少一些语法改进。
function myFunction()
myScriptWithDefinitions;
% who returns a cell array with all variables from my script
temp = who;
% now I try to assign these variables to my base workspace
% these are my attempts, none of them working
assignin('base',who);
assignin('base',temp{:});
assignin('base',{temp{:}});
...
end
我知道我实际上需要同时传递名称列表和值列表。任何进一步的想法?
编辑:像
assignin('base',{'A','B'},{2,5})
% or
assignin('base',{'A',2},{'B',5})
不起作用,所以我想assignin
一般来说不是一个选择。