Re: "Programming With Mathematica" Exercise help

*To*: mathgroup at smc.vnet.net*Subject*: [mg130452] Re: "Programming With Mathematica" Exercise help*From*: Bill Rowe <readnews at sbcglobal.net>*Date*: Fri, 12 Apr 2013 02:16:05 -0400 (EDT)*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

On 4/11/13 at 4:13 AM, plank.in.sequim at gmail.com wrote: >I'm loving Paul Wellin's book "Programming with Mathematica: An >Introduction" and am trying to diligently do all the exercises. >Most of them have answers in the back but I'm stuck on Section 4.2, >Exercise 2 and there's no answer given. It gives the following >Mathematica code: >z = 11; a = 9; z + 3 /. z -> a >14 >So "z+3" is being evaluated to 14 and then the substitution has no >effect. He asks how to "use the Hold function in the compound >expression to obtain a value of 12". If I wanted to evaluate an expression with z using a different value than what had been assigned to it without reseting it, I would use Block not Hold. That is: In[1]:= z = 11; a = 9; Block[{z}, z + 3 /. z -> a] Out[3]= 12 Likely there is a way to accomplish the same using Hold, but it seems to me Block is more specifically designed for this type of task.