Re: Part assignment
- To: mathgroup at smc.vnet.net
- Subject: [mg44989] Re: [mg44972] Part assignment
- From: "Sseziwa Mukasa,,(978) 536-2359" <mukasa at jeol.com>
- Date: Fri, 12 Dec 2003 04:41:28 -0500 (EST)
- References: <200312111028.FAA13125@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On Dec 11, 2003, at 5:28 AM, Maxim wrote: > Consider > > In[1]:= > Module[ > {L={0,0}}, > L[[1]]=Sequence[1,1]; > L[[2]]=2; > L[[2]] > ] > > Out[1]= > 1 > > The first part assignment constructs a list {Sequence[1,1],0}. Then an > interesting thing happens: part extraction functions (Part and others) > think that the second element of this list is 1, while part assignment > (Set) decides that the second element is 0. > This is pretty puzzling but I think the explanation is as follows: - The first assignment does not evaluate L since Set has the attribute HoldFirst, thus resulting in {Sequence[1,1},0]. You can never actually confirm this because any attempt to display L will evaluate it resulting in {1,1,0}. The second assignment also does not evaluate L, resulting in {Sequence[1,1],2}. Again this can't be confirmed, any attempt to display the value of L evaluates it resulting in {1,1,2} being displayed. The final line though does evaluate L, resulting in {1,1,2} then takes the second part which is 1. Regards, Ssezi
- References:
- Part assignment
- From: Maxim <dontsendhere@.>
- Part assignment