2

classdef スタイル クラスからインスタンス化されたいくつかのオブジェクトをロードして保存したいと考えています。オブジェクトがワークスペース内に存在し、外部には存在しない場合は、「保存」と「ロード」を使用できます。

たとえば、さまざまな従業員クラスを読み込んで保存する必要がある manager というクラスがある場合、従業員クラスはワークスペースに存在しません。

カスタム保存ルーチンを作成する必要がありますか? 既存のツールを活用する方法はありますか?

4

1 に答える 1

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;

そして、あなたはそれを保存したいと考えています。

この場合、ワークスペースにe1andがなくても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. 
于 2012-06-25T20:43:55.520 に答える