Programming with MATLAB | ![]() ![]() |
株式setメソッド
set
メソッドは、get
メソッド同様に"プロパティ名"を使ったインタフェースを提供します。これを使って、株式数、株価、項目(descriptor)を更新できます。カレント値と日付は、自動的に更新されます。
function s = set(s,varargin) % SET 株式プロパティに指定した値を設定 % アップデートオブジェクトを出力 property_argin = varargin; while length(property_argin) >= 2, prop = property_argin{1}; val = property_argin{2}; property_argin = property_argin(3:end); switch prop case 'NumberShares' s.num_shares = val; case 'SharePrice' s.share_price = val; case 'Descriptor' s.asset = set(s.asset,'Descriptor',val); otherwise error('Invalid property') end end s.asset = set(s.asset,'CurrentValue',... s.num_shares * s.share_price,'Date',date);
この関数は、新しい値をもった新しい株式オブジェクトを作成し、それを戻して、古い値に上書きします。たとえば、株式オブジェクトを与えて、
s = stock('XYZ',100,25);
s = set(s,'SharePrice',36);
MATLABは、リファレンスで渡される引数をサポートしていないので、オリジナルの株式オブジェクト上にコピーする必要があります(たとえば、出力をs
に代入)。そのため、set
メソッドは、実際にオブジェクトのコピーに適用されます。
![]() |
株式getメソッド | 株式subsrefメソッド | ![]() |