subsref

Lê por meio de uma estrutura de índices, a função por trás de A(i), A.f e A{i}.

Categoria: Programming > Classes

Sintaxe

B = subsref(A, S)

Retorna o valor selecionado pela cadeia de índices S.

Descrição

O interpretador transforma toda expressão com índice em uma chamada a subsref. Chamá-la diretamente permite indexar com uma cadeia montada em tempo de execução. Cada elemento de S é aplicado ao resultado do anterior, então substruct('()', {2}, '.', 'name') significa A(2).name.

Uma classe sobrecarrega subsref para controlar o que obj(i), obj.name ou obj{i} significam. Dentro da sobrecarga, builtin('subsref', obj, S) volta ao comportamento padrão.

Argumentos de entrada

A
O array, struct, cell array ou objeto a indexar.
S
Array de structs com os campos type ('()', '{}' ou '.') e subs, em geral construído com substruct.

Argumentos de saída

B
O valor selecionado; com um índice {} em cell array, a saída é o conteúdo.

Exemplo

Três tipos de índice

M = magic(4);
subsref(M, substruct('()', {2, ':'}))
S.a = [1 2 3];
subsref(S, substruct('.', 'a', '()', {2}))
c = {1, 'two', [3 4 5]};
subsref(c, substruct('{}', {3}, '()', {2}))
Saída
ans = 1×4

     5    11    10     8
ans = 2
ans = 4

Veja também

subsasgn substruct numArgumentsFromSubscript getfield