Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
mlist
Scilab オブジェクト, 型付リスト定義に向いた行列.
呼び出し手順
mlist(typ,a1,....an )
パラメータ
- typ
- 文字列のベクトル 
- ai
- 任意のScilabオブジェクト ( - matrix, list,string...).
説明
mlist オブジェクトは tlist オブジェクトに
	非常に良く似ています. 唯一の差異は,
	展開 および
	  insertion   挿入の構文です:
    M が mlistの場合, フィールド名でない i に関して, 
	M(i) はリストの i番目のフィールドではありません.
展開および挿入の構文の意味付けは, overloading 関数で指定される必要があります.
overloading 関数の展開構文 b=a(i1,...,in)
	は以下の呼び出し手順となります
    : b=%<type_of_a>_e_(i1,...,in,a)
そして構文
    [x1,..,xm]=a(i1,...,in) は以下の呼び出し手順となります:
    [x1,..,xm]=%<type_of_a>_e_(i1,...,in,a)
挿入構文に関連する overloading 関数
    a(i1,...,in)=b  は以下の呼び出し手順となります:
    a=%<type_of_b>_i_<type_of_a>(i1,...,in,b,a).
mlist フィールドはそれらの名前に基づき設計される必要があります.
	getfield および setfield
    関数により処理することも可能です.
例
M=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]); //define display function %V_p(M),disp(M.name+':'+string(M.value)),endfunction //define extraction operation function r=%V_e(varargin) M=varargin($) r=mlist(['V','name','value'],M.name(varargin(1:$-1)),M.value(varargin(1:$-1))) endfunction M(2,:) // the second row of M M.value //define insertion operations function M=%V_i_V(varargin) M=varargin($) N=varargin($-1) M.value(varargin(1:$-2))=N.value M.name(varargin(1:$-2))=N.name endfunction M(1,1)=M(2,2) function M=%s_i_V(varargin) //insertion of a regular matrix into a V matrix M=varargin($) N=varargin($-1) M.value(varargin(1:$-2))=N M.name(varargin(1:$-2))=emptystr(N) endfunction M(1,1)=44 //tlist case M=tlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]); M(2) M(2)='a'+string([1 2;3 4]) M('name')
参照
- tlist — Scilab オブジェクトおよび型付のリスト定義.
- list — Scilab オブジェクトおよびリスト関数定義
- overloading — 表示,関数および演算子オーバーロード機能
- getfield — リストのフィールドの展開
- setfield — list フィールドの挿入
| << lstcat | Data Structures | rlist >> |