[Date Index] [Thread Index] [Author Index]
Re: negative pattern matching anyone?
Hi, k[n_?NumericQ] /; n < 0 := Abs[n] k[a_.*b_Symbol] /; NumericQ[a] && a < 0 := Abs[a]*b Regards Jens Paolo Bientinesi wrote: > > Hello, > could anyone explain me why -3 is different from -a in the > following situation, please? > > h[-x_] := Abs[x] > h[x_] := x^2 > > now, > > k[-3] = 9 > k[-a] = Abs[a] > > I guess the answer con be found in the FullForm: > > FullForm[-a] = Times[-1,a] > FullForm[-x_] = Times[-1,Pattern[x,Blank]] > > while FullForm[-3] = -3 > > Then, is there a way to match both -3 and -a with the same pattern? > Thanks. > -- > Paolo > > pauldj at cs.utexas.edu paolo.bientinesi at iit.cnr.it