op = nelson.indexing.IndexingOperation(type, indices)
op = nelson.indexing.IndexingOperation(type, indices, name)
| Paramètre | Description |
|---|---|
| type | un nelson.indexing.IndexingOperationType, ou son nom en char/string ('Paren', 'Brace', 'Dot', ...). |
| indices | tableau de cellules des indices paren/brace (vide pour une opération dot). |
| name | le nom du champ (opération dot uniquement). |
| Paramètre | Description |
|---|---|
| op | un nelson.indexing.IndexingOperation scalaire. |
nelson.indexing.IndexingOperation décrit une opération d'indexation. Elle est passée aux méthodes parenReference/parenAssign, braceReference/braceAssign et dotReference/dotAssign des classes dérivant de nelson.mixin.indexing.Redefines*. Une expression chaînée est passée sous forme de tableau 1×N d'opérations (une par niveau de la chaîne) : indexOp peut donc être scalaire ou un tableau.
Propriétés : Type (un nelson.indexing.IndexingOperationType), Indices (tableau de cellules des indices, pour Paren/Brace) et Name (le nom du champ, pour Dot).
Un IndexingOperation (scalaire ou tableau) s'applique à une valeur avec la forme dynamique value.(indexOp), qui effectue la chaîne subsref (lecture) ou subsasgn (écriture) correspondante. C'est la manière recommandée de retransmettre la chaîne reçue depuis un hook, par exemple obj.Data.(indexOp).
op = nelson.indexing.IndexingOperation('Paren', {2});
char(op.Type)
op.Indices{1}
data = struct('f', {[1 2 3], [4 5 6 7]});
chain = [nelson.indexing.IndexingOperation('Paren', {2}), ...
nelson.indexing.IndexingOperation('Dot', {}, 'f')];
data.(chain) % équivaut à data(2).f
| Version | Description |
|---|---|
| 2.0.0 | version initiale |