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 >