Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2006

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

Search the Archive

Re: pattern matching: rules that stop other rules?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg71610] Re: [mg71596] pattern matching: rules that stop other rules?
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Sat, 25 Nov 2006 05:36:47 -0500 (EST)
  • Reply-to: hanlonr at cox.net

If has the attribute HoldRest (Hold all but the first position)

Attributes[If]

{HoldRest,Protected}

f[x_]=0;

ClearAll[qwerty];

qwerty[p,1,f[2]]

qwerty(p,1,0)

SetAttributes[qwerty, HoldRest];

qwerty[p,1,f[2]]

qwerty(p,1,f(2))

Look in Help browser for Attributes


Bob Hanlon

---- croddie at princeton.edu wrote: 
> Hello. I've been using Mathamatica for quite a while but without ever
> finding out how the language works fundamentally, which I'm trying to
> do now. I'd be grateful for some help in understanding patterns - it
> seems like a powerful idea to me. There is something I can't work out.
> 
> Define a function f [x_]:=0 say
> Now If [ p, 1, f [ 2] ] evaluates to itself. So the rule in the
> definition is not applied to f [ 2 ].
> 
> Replace If with some other undefined function, say qwerty, and you get
> qwerty [ p, 1, 0] not surprisingly. And If [ p, 1, f [ 2] ] /. f
> [x_]->0 returns If [ p, 1, 0 ].
> 
> Is there a rule associated with If that stops a rule (if that's the
> right expression) from being applied inside it? Can users write such
> rules?
> 
> Thanks for any help.
> 


  • Prev by Date: Re: Converting an expression to a list of terms?
  • Next by Date: Re: pattern matching: rules that stop other rules?
  • Previous by thread: Re: pattern matching: rules that stop other rules?
  • Next by thread: Re: pattern matching: rules that stop other rules?