Re: odd behaviour in rule delayed
- To: mathgroup at smc.vnet.net
- Subject: [mg21503] Re: [mg21499] odd behaviour in rule delayed
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Fri, 14 Jan 2000 02:43:24 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
The problem is very simple. The following works fine:
In[9]:=
list = {1, 0, 1, 0, 0, 1}; k = 0; newlist = {1, 0, 1, 0, 0, 1} /. (1 :> ++k)
Out[9]=
{1, 0, 2, 0, 0, 3}
If you miss out the parentheses Mathematica interprets /.1 as division by
0.1 (at least Mathematica 4.0 does).
Andrzej Kozlowski
Toyama International University
JAPAN
http://sigma.tuins.ac.jp
> From: Francisco Gutierrez <rpena at impsat.net.co>
To: mathgroup at smc.vnet.net
> Date: Wed, 12 Jan 2000 08:35:43 -0500 (EST)
> To: mathgroup at smc.vnet.net
> Subject: [mg21503] [mg21499] odd behaviour in rule delayed
>
> I have M 4.0, window 95.
> I have a list of 0's and 1's, and I want the one's to perform a consecutive
> numeration. For example, transform {1,0,1,0,0,1} into {1,0,2,0,0,3}.
>
> The easiest (and most elegant, I think) way to do it is with a counter and
> rule delayed:
> list={1,0,1,0,0,1}
> kk=0; newlist={1,0,1,0,0,1} /.1:>++k
>
> However, the answer I get from this operation is completely
> odd:{10.,0,10.,0,0,10.}:>++k. I closed my session and re-started my
> computer, but I keep getting the same stuff. I don't understand what is
> happening. By the way, this problem didn't appear in M3.0.
>
> Can somebody help me?
>
> Francisco Gutierrez
>
>