Re: Dynamic scoping
- To: mathgroup at smc.vnet.net
- Subject: [mg129652] Re: Dynamic scoping
- From: "Rolf.Mertig at gmail.com" <Rolf.Mertig at gmail.com>
- Date: Sun, 3 Feb 2013 02:44:43 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <keiatl$qq3$1@smc.vnet.net>
Am Samstag, 2. Februar 2013 07:15:17 UTC+1 schrieb Daniel Huber:
> Block is supposed to be a dynamic scoping construct. Therefore, in the following, "Print" should be an undefined function. But consider:
>
>
>
> Block[{Plus},
>
> t = ToString[Plus[1, 2]];
>
> Print[t];
>
> ]
>
>
>
> The output of this is: "3" and not "Plus[1,2]" as it would be if "Print" has no defined meaning.
>
> cheers, Daniel
Block[{Plus = "Plus"}, t = ToString[Plus[1, 2]];
Print[t];]
will do what you want