| MATLAB Function Reference | ![]() |
A(i)=B, A{i}=B, A.field=B の多重定義メソッド
表示
A = subsasgn(A,S,B)
詳細
A = subsasgn(A,S,B)
は、Aが、オブジェクトのときに、シンタックスA(i)=B, A{i}=B, A.i=Bに対して、コールされます。Sは、つぎのフィールドをもつ構造体配列です。
type: '()', '{}', '.' を含む文字列。ここで、'()' は、整数のサブスクリプトを、'{}'はセル配列のサブスクリプトを、'.' はサブスクリプトの付いた構造体のフィールドを指定します。subs: 実際のサブスクリプトを含むセル配列、または、文字列。例題
シンタックスA(1:2,:) = Bは、A = subsasgn(A,S,B)をコールします。ここで、Sは、S.type='()'かつS.subs = {1:2,':'}である1行1列の構造体です。サブスクリプトとして使われるコロンは、文字列':'として渡されます。
A{1:2} = B は、A = subsasgn(A,S,B) をコールします。ここで、S.type='{}' です。
A.field = B は、subsasgn(A,S,B)をコールします。ここで、 S.type='.'、かつ、S.subs='field' です。
これらの簡単なコールは、より複雑なサブスクリプト表現に対して、わかりやすい方法で組合わされます。そのような場合、length(S)は、サブスクリプトのレベル数です。たとえば、 Sが、つぎの値をもつ3行1列の構造体配列のとき、 A(1,2).name(3:5) = B は、A = subsasgn(A,S,B)をコールします。
|
|
|
|
|
|
参考
subsref
多重定義と subsasgn に関する詳細は、Using MATLAB を参照してください。
| subplot | subsindex | ![]() |