MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: pattern matching all list elements but last

  • To: mathgroup at smc.vnet.net
  • Subject: [mg54560] Re: [mg54539] pattern matching all list elements but last
  • From: "Ingolf Dahl" <ingolf.dahl at telia.com>
  • Date: Wed, 23 Feb 2005 03:11:31 -0500 (EST)
  • Reply-to: <ingolf.dahl at telia.com>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi Trevor,
This does the trick

ls /. {{a___Integer, b_Integer} :> {Sequence @@ ({a} + 100), b}}

Best regards

Ingolf Dahl
ingolf.dahl at telia.com
Sweden

-----Original Message-----
From: Trevor Baca [mailto:trevorbaca at gmail.com] 
To: mathgroup at smc.vnet.net
Subject: [mg54560] [mg54539] pattern matching all list elements but last

hi mathgroup folks,

let's say ls looks like this:

  ls = {{1}, {2,3}, {4,5,6}, {7,8,9,10}}

is there an elegant way to match all integers *except the last
(rightmost)* in each list and, say, add 100 to each?

  ls /. <magic replacement rule goes here>

or

  ls //. <magic replacement rule goes here>

to give {{1}, {102,3}, {104,105,6}, {107,108,109,10}}?

this works:

  Release[ ls //. {a___, b_Integer, c___, z_Integer} :> {a, Hold[b +
100], c, z} ]

but is there a more elegant pattern, possibly one that avoids the
Hold-Release trick?


trevor.



  • Prev by Date: Re: problems plotting a derivative
  • Next by Date: Re: pattern matching all list elements but last
  • Previous by thread: Re: pattern matching all list elements but last
  • Next by thread: Re: pattern matching all list elements but last