Re: strings & expressions in Module
- To: mathgroup at smc.vnet.net
- Subject: [mg6258] Re: [mg6244] strings & expressions in Module
- From: seanross at worldnet.att.net
- Date: Mon, 3 Mar 1997 01:29:16 -0500
- Sender: owner-wri-mathgroup at wolfram.com
Murray Eisenberg wrote:
>
> Naively, I expect the following, when evaluated, to return result 99:
>
> Module[{y},
> y = 99;
> Evaluate at ToExpression["y"]
> ]
>
> But it doesn't; instead, it returns:
>
> y
>
> I suspect the problem is that, inside the Module, y is not really y
> but rather y$1 or some symbol of the kind. How can I modify the
> string "y" so that, in fact, the result returned is the value 99
> stored into y?
>
> (Yes, this likes a strange thing to do: assign a value to a symbol
> inside a Module and then try to refer to the symbol indirectly by a
> string giving its name. There's a good reason I want to do this!)
>
> --
> Murray Eisenberg Internet: murray at math.umass.edu
> Mathematics & Statistics Dept. Voice: 413-545-2859 (W)
> University of Massachusetts 413-549-1020 (H)
> Amherst, MA 01003 Fax: 413-545-1801
Whenever I use a module, I use Return statements. Another point is that
by using Module[{y},.....], you have declared y a protected variable.
If you want to access the value of y outside the module, just leave it
off the protected variable list.