我想加载并保存从classdef样式类实例化的一些对象。 当对象存在于工作空间中时,我可以使用“保存”和“加载”,但不能在外部使用。
例如,如果我有一个名为manager的类,需要加载和保存不同的员工类,那么员工类将不会存在于工作区中。
我是否需要编写自定义保存例程?有没有办法利用现有的工具?
答案 0 :(得分:1)
首先,我希望我能正确理解你的问题。
你有这样的事情:
class Manager
properties
Employees
end
end
class Employee
end
您有一个Manager
manager = Manager();
e1 = Employee();
e2 = Employee();;
manager.Employees{1} = e1;
manager.Employees{2} = e2;
你想保存它。
在这种情况下,即使您的工作区中没有e1
和e2
,save命令也会在保存Manager
时保存它们。
但是,要正确加载它们,您的工作目录中必须同时包含Employee
和Manager
。这是有道理的,因为没有其他方式可以知道它是什么类。事实上,你会收到一个错误:
Warning: Variable 'manager' originally saved as a Manager cannot be instantiated as an object and will be read in as a uint32.
Warning: Variable 'e1' originally saved as a Employee cannot be instantiated as an object and will be read in as a uint32.
Warning: Variable 'e2' originally saved as a Employee cannot be instantiated as an object and will be read in as a uint32.