Re: Replace, test question
- To: mathgroup at smc.vnet.net
- Subject: [mg120352] Re: Replace, test question
- From: Yves Klett <yves.klett at googlemail.com>
- Date: Tue, 19 Jul 2011 07:00:13 -0400 (EDT)
- References: <j0113e$qad$1@smc.vnet.net>
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. >