Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

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

Search the Archive

Re: Pattern matching

  • To: mathgroup at smc.vnet.net
  • Subject: [mg116548] Re: Pattern matching
  • From: Leonid Shifrin <lshifr at gmail.com>
  • Date: Sat, 19 Feb 2011 05:13:34 -0500 (EST)

Could do this:

In[1]:= f[u] /. f[u + x : _ : 0] -> x

Out[1]= 0

Regards,
Leonid


On Fri, Feb 18, 2011 at 12:33 PM, <"\"Andr=E9 M. Grabinski\""@smc.vnet.net> wrote:

> Hi everyone,
>
> hopefully someone of you could answer me a simple question concerning
> patterns in Mathematica 8. Consider the following minimal example,
>
>
> In[1]:= rule = f[u + x_] -> x;
>        f[u + 5] /. rule
>        f[u + 0] /. rule
>        f[u] /. rule
>
> Out[1]= 5
>
> Out[2]= f[u]
>
> Out[3]= f[u]
>
>
> Now the question: in which way do I need to modify "rule" in order to
> get "0" as result for "Out[3]"? Of course I could add a second rule,
> i.e. "rule = {f[u + x_] -> x,f[u] -> 0}", but I feel like there should
> be a more elegant way than to take care of each and every exception
> (okay, in this minimal example this wouldn't matter but I'm just
> interested in the general way of setting up patterns).
>
> Thank you very much in advance,
>
> A.G.
>
>


  • Prev by Date: Re: Cloud Mathematica
  • Next by Date: Re: Pattern matching
  • Previous by thread: Pattern matching
  • Next by thread: Re: Pattern matching