Per rimuovere un simbolo, posso scrivere:
y=6;
mySymbol = Expr(y);
//Delete Symbols("y");
////Delete Symbols(y); // <- easy
Eval(Eval Expr(Delete Symbols(Expr(Name Expr(mySymbol)))));
Show symbols()
Se devo rimuovere un simbolo da uno spazio dei nomi, ho bisogno della stringa del simbolo:
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 );
Qual è la sintassi corretta per
Char(s)
?
Nome della testa (espressione) ?
Names Default To Here(1);
ms = Expr(x);
Head Name(ms); // "x"