Scilab Function
Last update : 28/12/2008

mlist - Objet Scilab, définition d'une liste typée

Calling Sequence

mlist(typ,a1,....an )

Parameters

Description

Les objets de type mlist sont très similaires aux objets de type tlist. Si M est de type mlist, pour tout indice i qui n'est pas le nom d'un champ de la liste, M(i) n'est pas le i-ème champ de la liste mais est interprété comme le i-ème terme de M vu comme un vecteur. C'est la seule différence entre mlist et tlist.

Les champs des mlist doivent donc être manipulés par leur noms. Il peuvent aussi être manipulés avec les fonctions getfield et setfield.

Examples

M=mlist(['V','name','value'],['a','b','c'],[1 2 3]);
// définition de la fonction d'affichage
deff('%V_p(M)','disp(M.name+'':''+string(M.value))')
// définition de la fonction d'extraction
deff('r=%V_e(i,M)',..
'r=mlist([''V'',''name'',''value''],M.name(i),M.value(i))')
M(2) // Le deuxième terme du vecteur M
M.value 

// définition de M comme une tlist
M=tlist(['V','name','value'],['a','b','c'],[1 2 3]);
M(2)

M('name')

// avec deux indices
M=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2;3 4]);
deff('r=%V_e(varargin)',[
    'M=varargin($)';
    'H=[''V'',''name'',''value'']'
    'r=mlist(H,M.name(varargin(1:$-1)),M.value(varargin(1:$-1)))'])

M(:,2)
// tableau multidimensionnel
str=['a','b','c','d','e','f','g','h'];
n=hypermat([2,2,2],str);
v=hypermat([2,2,2],1:8);
M=mlist(['V','name','value'],n,v);
M(1,1:2,2)
 

See Also

tlist,  list,  overloading,  getfield,  setfield,