Pour supprimer un symbole, je peux écrire :
y=6;
mySymbol = Expr(y);
//Delete Symbols("y");
////Delete Symbols(y); // <- easy
Eval(Eval Expr(Delete Symbols(Expr(Name Expr(mySymbol)))));
Show symbols()
Si je dois supprimer un symbole d'un espace de noms, j'ai besoin de la chaîne de caractères de ce symbole :
Names Default To Here( 1 );
nsref = New Namespace(
"ns"
);
ns:x = 20;
mySymbol = Expr( x );
//nsref << Remove("x")
Eval(
Substitute(
Expr(
nsref << Remove( _sym_ )
),
Expr( _sym_ ), Substitute( Expr( Char( __sym__ ) ), Expr( __sym__ ), Name Expr( mySymbol ) )
)
);
s = NameExpr( mySymbol );
str = Char(s) ); // Name not defined
Show( str );
Quelle est la syntaxe correcte pour
Char(s)
?
Nom du chef (expr) ?
Names Default To Here(1);
ms = Expr(x);
Head Name(ms); // "x"