Re: named pattern variable scoped as global, should be local
- To: mathgroup at smc.vnet.net
- Subject: [mg56736] Re: named pattern variable scoped as global, should be local
- From: "Jens-Peer Kuska" <kuska at informatik.uni-leipzig.de>
- Date: Thu, 5 May 2005 06:01:19 -0400 (EDT)
- Organization: Uni Leipzig
- References: <d59kg5$6ch$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
and what does
x = 7;
Module[{x}, {1, 2, 3} /. x_ :> 2x]
and
x = 7;
Block[{x}, {1, 2, 3} /. x_ -> 2x]
Regards
Jens
<leenewman at gmail.com> schrieb im Newsbeitrag
news:d59kg5$6ch$1 at smc.vnet.net...
> When using a named pattern variable within a
> module, it should be
> scoped locally within the pattern. However,
> this does not seem to work
> as advertised. For example, shouldn't the
> pattern variable x in the
> statements below be local to the pattern? Does
> anyone know whether
> this is a bug, or whether I am just missing
> something about the usage
> of variables in patterns/condition constructs?
>
> (* this returns 14! *)
> x = 7;
> Module[{x},{1, 2, 3} /. x_ -> 2x];
>
> (* this returns {2,4,6}, assuming q is not
> globally defined. *)
> Remove[q];
> Module[{q},{1, 2, 3} /. q_ -> 2q];
>
>
> Lee
>