Re: Replace, test question
- To: mathgroup at smc.vnet.net
- Subject: [mg120371] Re: Replace, test question
- From: PA32R <tio540s1 at gmail.com>
- Date: Wed, 20 Jul 2011 06:33:29 -0400 (EDT)
- References: <j0113e$qad$1@smc.vnet.net> <j03ora$adr$1@smc.vnet.net>
On Jul 19, 4:12 am, Yves Klett <yves.kl... at googlemail.com> wrote:
> 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, schriebPA32R:
>
>
>
>
>
>
>
> > 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.
Thanks everyone, I got it done. The assistance is much appreciated.