我想加载和保存一些从 classdef 样式类实例化的对象。当对象存在于工作区中而不是外部时,我可以使用“保存”和“加载”。
例如,如果我有一个名为 manager 的类,它需要加载和保存不同的员工类,那么工作区中将不存在员工类。
我需要编写自定义保存程序吗?有没有利用现有工具的方法?
我想加载和保存一些从 classdef 样式类实例化的对象。当对象存在于工作区中而不是外部时,我可以使用“保存”和“加载”。
例如,如果我有一个名为 manager 的类,它需要加载和保存不同的员工类,那么工作区中将不存在员工类。
我需要编写自定义保存程序吗?有没有利用现有工具的方法?
首先,我希望我能正确理解你的问题。
你有这样的事情:
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.