Bonjour,

J'ai noté un comportement surprenant avec les user classes
Soit C une classe redéfinissant subsref et subsasgn (peu importe ce qu'elles font). Le comportement n'est pas le même selon que l'instance soit attribué à une variable locale ou non ???

Est-ce normal, documenté ? Peut on rétablir le comportement attendu ? Avec les metaclasses ?

Merci d'avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
% comportement attendu
instance= C();
instance{1}.x % appelle subsref  avec 2 indicages, {} et .
instance{1}.x= 0 % appelle subsasgn avec 2 indicages, {} et .
% comportement différent
C(){1}.x     % appelle subsref  avec seulement le 1er indicage, {}
C(){1}.x= 0 % n'appelle même pas subsasgn