nelson.mixin.indexing.RedefinesDot
Personnaliser l'indexation par point d'une classe.
📝Syntaxe
classdef MaClasse < nelson.mixin.indexing.RedefinesDot
📥Arguments d'entrée
Paramètre Description
obj objet d'une classe derivee de nelson.mixin.indexing.RedefinesDot.
📤Arguments de sortie
Paramètre Description
obj objet prenant en charge une indexation par point personnalisee.
đź“„Description

Dérivez de nelson.mixin.indexing.RedefinesDot pour donner à une classe son propre comportement d'indexation par point pour les noms qui ne sont pas des propriétés ou méthodes déclarées. Une sous-classe implémente les méthodes protégées dotReference(obj, indexOp) (valeur de obj.name), dotAssign(obj, indexOp, value) (obj.name = value) et dotListLength(obj, indexOp, indexContext).

indexOp est un nelson.indexing.IndexingOperation dont la propriété Name contient le nom accédé. Les propriétés et méthodes déclarées gardent leur comportement normal ; seuls les noms inconnus appellent dotReference/dotAssign.

đź’ˇExemples
Un sac nom/valeur dynamique.
classdef Bag < nelson.mixin.indexing.RedefinesDot
  properties (Access = private)
    Store
  end
  methods
    function obj = Bag()
      obj.Store = struct();
    end
  end
  methods (Access = protected)
    function varargout = dotReference(obj, indexOp)
      varargout{1} = obj.Store.(indexOp.Name);
    end
    function obj = dotAssign(obj, indexOp, val)
      obj.Store.(indexOp.Name) = val;
    end
    function n = dotListLength(obj, indexOp, ctx)
      n = 1;
    end
  end
end
đź”—Voir aussi
nelson.mixin.indexing.RedefinesParennelson.indexing.IndexingOperation
đź•”Historique des versions
Version Description
2.0.0 version initiale
Modifier cette page sur GitHub