MathGroup Archive 1998

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: nice Gotcha!


Luc,
Two suggetions

1) use Block instead of Module

Clear[x];
test[] := Block[{x}, ToExpression["x=3"]; Print[x];] test[]

    3

Print[x];

    x


2) Since you seem to want a print response, stay with strings: using

StringReplace["x=3", "x=" -> ""]

3

or if you need to evaluate


a = 3;
Print[ToExpression[StringReplace["x=a", "x=" -> ""]]]


    3


Barthelet, Luc wrote in message <74aiui$45l at smc.vnet.net>...
>
>Code similar to the following gave me trouble today. I thought it would
>be fun to share:
>
>Clear[x];
>test[] := Module[
>      {x},
>
>      ToExpression["x=3"];
>      Print[x];
>      ];
>test[];
>Print[x];
>
>In my version. "x" was infact the variable "Active" which is an option
>to ButtonBox and created a ton of problems. Of course I could not
>change the name (user driven, and that's why I am running a
>ToExpression on it).
>
>The solution was to not declare Active in the Module and to
>Clear[Active] in the function.
>
>any other insight?
>
>
>Luc Barthelet
>GM the day, Mayor at night
>http://www.simcity.com
>
>



  • Prev by Date: help!!
  • Next by Date: Re: TableHeadings
  • Previous by thread: Re: nice Gotcha!
  • Next by thread: Question on Nest[]