Re: Behavior of Longest
- To: mathgroup at smc.vnet.net
- Subject: [mg107949] Re: [mg107909] Behavior of Longest
- From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
- Date: Wed, 3 Mar 2010 05:54:13 -0500 (EST)
- References: <201003021254.HAA14195@smc.vnet.net>
Hi, your pattern doesn't match like you want it because List[1,2] is not of the form __Integer but the subexpressions are. Read the documentation of ReplaceAll: "applies a rule or list of rules in an attempt to transform each subpart of an expression expr." your subexpressions are the single parameters to your {1,2} list namely 1 and 2. so what is 1/.Longest[x__Integer]:>{x} ? Your last example is right because you match the whole expression as you intended. What you wanted in the first cases is {1, 2} /. {Longest[x__Integer]} :> Boing[x] {1, 2} /. _[Longest[x__Integer]] :> Boing[x] and the same with Shortest. Cheers Patrick Am Mar 2, 2010 um 1:54 PM schrieb dh: > Hello, > can somebody give an explanation for the following behavior of Longest > (Mathematica version 7.0.1): > {1, 2} /. Longest[x__Integer]:>{x} gives {{1}, {2}} > > the same as Shortest: > {1, 2} /. Shortest[x__Integer]:>{x} gives {{1}, {2}} > > However, it works like expected in the following case: > {a, 1, 2, b} /. {x1___, Longest[x__Integer], x2___} :> {x1, {x}, x2} > gives: {a, {1, 2}, b} > > looks like a bug to me. > > Daniel > > -- > > Daniel Huber > Metrohm Ltd. > Oberdorfstr. 68 > CH-9100 Herisau > Tel. +41 71 353 8585, Fax +41 71 353 8907 > E-Mail:<mailto:dh at metrohm.com> > Internet:<http://www.metrohm.com> > >
- References:
- Behavior of Longest
- From: dh <dh@metrohm.com>
- Behavior of Longest