Re: odd behaviour in rule delayed

*To*: mathgroup at smc.vnet.net*Subject*: [mg21541] Re: [mg21499] odd behaviour in rule delayed*From*: "Mark Harder" <harderm at ucs.orst.edu>*Date*: Fri, 14 Jan 2000 02:44:00 -0500 (EST)*Sender*: owner-wri-mathgroup at wolfram.com

Francisco, You need to put a space between /. and 1. In Mathematica 3.0.1/WinNT: list={1,0,1,0,0,1} k=0; newlist={1,0,1,0,0,1} /.1:>++k Out[22]={1,0,1,0,0,1} Out[23]={10.,0,10.,0,0,10.}\[RuleDelayed]++k where list={1,0,1,0,0,1} k=0; newlist={1,0,1,0,0,1} /. 1:>++k Out[24]={1,0,1,0,0,1} Out[25]={1,0,2,0,0,3} ..because In[31]:=(list/.1) :>++k Out[31]={10.,0,10.,0,0,10.}\[RuleDelayed]++k -mark -----Original Message----- From: Francisco Gutierrez <rpena at impsat.net.co> To: mathgroup at smc.vnet.net Subject: [mg21541] [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 > >