Creating structure using eval function - Part 2 Question

1 次查看(过去 30 天)
Hello
This time I will make the question more specific
Laminate = struct('Raw', -1, 'ttm', -1, 'USD', zeros(3));
evalin('base','',Laminate,'')
Following error in matlab
??? Undefined function or method 'evalin' for input arguments of type 'struct'.
Error in ==> Laminator_ProV>LamDetailstToWorkSpace at 1405
evalin('base','',Laminate,'')
??? Error while evaluating uimenu Callback
Can some body help me, thanks in advance
  2 个评论
C.J. Harris
C.J. Harris 2012-7-6
Are you sure it's 'evalin' you want to use and not 'assignin'?
Thulasi Durai Durai Samy
Hello I tried with 'assignin'. I was not aware during that time, now I am using 'assignin'. I am satisfied, thanks

请先登录,再进行评论。

回答(1 个)

Jan
Jan 2012-7-9
编辑:Jan 2012-7-9
Laminate_local = struct('Raw', -1, 'ttm', -1, 'USD', zeros(3));
assignin('base', 'Laminate', Laminate_local)
I've addeded "_local" just to avoid further confusion.
Let me mention that I'd never use ASSIGNIN, EVALIN or their brothers, because they impede the debugging by letting the variables appear magically in the workspace. When these evail commands are used multiple times, it gets impossible to find out, where changes of the values are comming from. Much better, safer, cleaner, faster and nicer is transporting the variables as output of the function.

类别

Help CenterFile Exchange 中查找有关 Debugging and Analysis 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by