MathGroup Archive 2011

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

Search the Archive

Re: Replace, test question


Hi,

you need to supply x as argument to PrimeQ... alternatively use PatternTest:

{58, 61, 15, 66, 10, 2, 24, 81, 45, 84} /. x_ /; PrimeQ[x] -> P

{58, P, 15, 66, 10, P, 24, 81, 45, 84}

{58, 61, 15, 66, 10, 2, 24, 81, 45, 84} /. x_?PrimeQ -> P

{58, P, 15, 66, 10, P, 24, 81, 45, 84}


Regards,
Yves


Am 18.07.2011 12:15, schrieb PA32R:
> I'm very new to Mathematica and trying to work my way through it. I
> don't understand why:
> {58, 61, 15, 66, 10, 2, 24, 81, 45, 84} /. x_ /; PrimeQ -> P
> returns:
> {58, 61, 15, 66, 10, 2, 24, 81, 45, 84}
> 
> I would expect it to take the list, replace everything in the list
> that matches any pattern and passes the PrimeQ test, i.e., is prime,
> with P to yield:
> {58, P, 15, 66, 10, P, 14, 81, 45, 84}
> 
> Can someone explain my misunderstanding?
> 
> Thanks.
> 


  • Prev by Date: Re: Unexpected Behavior: SetDelayed versus Set
  • Next by Date: Re: Replace, test question
  • Previous by thread: Re: Replace, test question
  • Next by thread: Re: Replace, test question