[Date Index] [Thread Index] [Author Index]
Re: negative pattern matching anyone?
In article <blcqqj$p8h$1 at smc.vnet.net>, Paolo Bientinesi <pauldj at cs.utexas.edu> 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? Yes -- use Sign: h[x_] := Abs[-x] /; Sign[x] == -1 h[x_] := x^2 Cheers, Paul -- Paul Abbott Phone: +61 8 9380 2734 School of Physics, M013 Fax: +61 8 9380 1014 The University of Western Australia (CRICOS Provider No 00126G) 35 Stirling Highway Crawley WA 6009 mailto:paul at physics.uwa.edu.au AUSTRALIA http://physics.uwa.edu.au/~paul