Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - Português


mlist

objeto Scilab, definição de listas com tipos orientadas matricialmente

Seqüência de Chamamento

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

Parâmetros

typ

vector of character strings

ai

any Scilab object (matrix, list,string... ).

Descrição

Objetos mlist são bastante semelhantes a objetos tlist objects. A única diferença concerne às sintaxes de extração e inserção (extraction e insertion): se M é uma mlist, para qualquer índice i que não é um campo de nome, M(i) não é mais o i-ésimo campo da lista

A semântica da sintaxe de extração e inserção deve ser dada por uma função de (sobrecarga) overloading.

A função de overloading para sintaxe de extração b=a(i1,...,in) tem a seguinte seqüência de chamamento: b=%<tipo_de_a>_e_(i1,...,in,a)

e a sintaxe [x1,..,xm]=a(i1,...,in) tem a seguinte seqüência de chamamento: [x1,..,xm]=%<type_de_a>_e_(i1,...,in,a)

A função de overloading associada à sintaxe de inserção a(i1,...,in)=b tem a seguinte seqüência de chamamento: a=%<type_de_b>_i_<type_de_a>(i1,...,in,b,a).

Os campos de um mlist devem, então, ser designados por seus nomes. Eles também podem ser manipulados usando-se as funções getfield e setfield.

Exemplos

M=mlist(['V','name','value'],['a','b';'c' 'd'],[1 2; 3 4]);
//Definindo exibição
function %V_p(M),disp(M.name+':'+string(M.value)),endfunction

//Definindo operação de extração
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,:) // a segunda entrada do vetor M
M.value

//Definindo operações de inserção
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) //inserção de uma matriz regular em uma matriz V
  M=varargin($)
  N=varargin($-1)
  M.value(varargin(1:$-2))=N
  M.name(varargin(1:$-2))=emptystr(N)
endfunction
M(1,1)=44

//caso de tlists
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')

Ver Também

  • tlist — objeto do Scilab e definição de listas com tipos ("typed lists")
  • list — objeto do Scilab e definição de lists ("listas")
  • overloading — capacidades de overloading ("sobrecarga") de exibições, funções e operadores
  • getfield — extração de campos de listas
  • setfield — altera o valor de um elemento de uma mlist, tlist ou list
Report an issue
<< lstcat Estruturas de Dados 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:
Tue Oct 24 14:35:27 CEST 2023