我有一个名为struct
的{{1}}属性的类:
myStruct
我想将结构保存到properties
myStruct;
end
文件中。我试过了:
.mat
但它给出了错误:
save -append registers.mat myStruct;
我有更新Variable 'myStruct' not found.
的不同功能,例如:
struct
这些是同一类的所有功能。
答案 0 :(得分:2)
我认为此代码中的主要问题是您如何从函数中访问<?php
$var as $profile[0];
$id = $var->id;
$roll = $var->roll;
$photo = $var->photo;
$active = $var->active;
?>
。看看以下代码:
myStruct
您想要做的是将function configureChannel( obj, Channel )
myStruct.Channel = Channel;
...
end
分配到当前对象的Channel
字段中Channel
&#39; s myStruct
财产。 实际所做的相当于调用:
Channel
即,您在myStruct = struct('Channel', Channel);
的当前工作空间/范围内创建新的本地变量,而不实际更新对象的属性{{ 1}}。
因此,您需要做出的第一个更正是如何访问setter中的configureChannel
:
obj
接下来是保存的问题。
将对象的字段副本转储到文件时,我希望save
将您的任意对象视为myStruct
,因此struct
saving conventions应该适用:
obj.myStruct.Channel = Channel;
|将struct
指定的标量结构的字段存储为文件中的单个变量。例如,'-struct',structName
保存标量结构structName
。
因此,我希望以下工作 免责声明:我没有测试 :
save('filename.mat','-struct','S')
以上情况失败的其他替代方案:
S
最后一件事 - 您可能已经注意到,我使用save('filename.mat','-struct','obj.myStruct');
的函数形式,因为我认为它更易于维护/可读/防呆:
save('filename.mat','obj.myStruct'); % Alternative #1
tmp = obj.myStruct; save('filename.mat','tmp'); % Alternative #2