MathGroup Archive 2006

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

Search the Archive

Re: Re: ReplaceAll (/.)


It would be nice to know why list applied to an atomic object isn't an
error. Anyone?

On 9/1/06, Andrzej Kozlowski <akoz at mimuw.edu.pl> wrote:
>
> On 1 Sep 2006, at 11:41, Bruce Colletti wrote:
>
> > Re Mathematica 5.2.0.0.
> >
> > Why doesn't:
> >
> >                (a b) /. x_Times -> List @@ x
> >
> > return {a,b}?  My (flawed) reasoning is that a b has form Times
> > [a,b], and so x matches to Times[a,b].  List@@x replaces Times with
> > List to yield List[a,b], or {a,b}...or so it would seem.
> >
> > The explanation is somehow linked to the fact that:
> >
> >                (a b) /. x_Times :> List @@ x
> >
> > returns {a,b}, but I don't see why this works but not the above.
> >
> > Although List@@(a,b) returns {a,b}, I want to use the above
> > ReplaceAll function (this example here is taken from a larger
> > problem).
> >
> > Thankx.
> >
> > Bruce
> >
>
>
> You need to use RuleDelayed (:>) rather than Rule (->) because, if
> you use just Rule, List@@x is first evaluated and gives:
>
>
>
> List@@x
>
>
> x
>
> So all you are actually doing is
>
> (a b) /. x_Times -> x
>
> Andrzej Kozlowski
>
>


-- 
http://chris.chiasson.name/


  • Prev by Date: Why doesn't Mathematica solve this simple differential equation?
  • Next by Date: Re: Please help: How to use Mathematica to get Parametric solution for a transcendental equation?
  • Previous by thread: Re: ReplaceAll (/.)
  • Next by thread: RE: ReplaceAll (/.)