Re: Please Help Eliminate My Ignorance
- To: mathgroup at smc.vnet.net
- Subject: [mg118581] Re: Please Help Eliminate My Ignorance
- From: Sseziwa Mukasa <mukasa at gmail.com>
- Date: Tue, 3 May 2011 05:48:20 -0400 (EDT)
On May 2, 2011, at 6:52 AM, Michael Mandelberg wrote: > Why does Mathematica like the first, but not the second? > > 1. > Clear[x, testp, p]; > test[p_] := Append[p, p[[4]]]; > > > 2. > Clear[x, testp, p]; > test[p_] := x = 1; Append[p, p[[4]]]; > > Part::partd: Part specification p[[4]] is longer than depth of object. >>> > > Append::normal: Nonatomic expression expected at position 1 in > Append[p,p[[4]]]. >> Your second case is a compound statement and the parts are evaluated independently. If you want to assign 1 to x in test wrap it in a scoping construct: test[p_]:=Block[{},x=1;Append[p,p[[4]]]] Regards, Ssezi