Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2025.0.0 - Français


mlist

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

Séquence d'appel

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

Paramètres

typ

vecteur de chaînes de caractères

ai

objet Scilab (matrice, liste, chaîne...).

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.

Exemples

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=matrix(str, [2,2,2]);
v=matrix(1:8, [2,2,2]);
M=mlist(['V','name','value'],n,v);
M(1,1:2,2)

Voir aussi

  • tlist — Objet Scilab. Définition d'une liste typée
  • list — Objet Scilab, Définition d'une liste
  • overloading — display, functions and operators overloading capabilities
  • getfield — extraction d'un champ d'une liste
  • setfield — modifie la valeur d'un élément d'une mlist, tlist ou list
Report an issue
<< lstcat Listes Structures Cells null >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 24 11:15:59 CEST 2024