Re: Re: Puzzle
- To: mathgroup at smc.vnet.net
- Subject: [mg2433] Re: [mg2419] Re: [mg2258] Puzzle
- From: jpk at apex.mpe.FTA-Berlin.de (Jens-Peer Kuska)
- Date: Wed, 8 Nov 1995 23:42:25 -0500
Partick Jemmer wrotes: > > In trying to tidy this up, I attempted: > > lst={6, 44, 30, 15, 24, 12, 33, 23, 18} > chk={a___, b_, c___, d_, e___, f_, g___, h_, i___} > cnd=b + d + f + h == 100 > sln={b,d,f,h} > > lst/.chk/;cnd->sln > > But this doesn't work... > > nor does: > > chk1=chk/;cnd > > lst/.chk1->sln > > nor does > > chk2=Hold[chk/;cnd] > > lst/.ReleaseHold[chk2]->sln > > Any ideas to help sort out my confusion?? > > Cheers, patrick. > > > Hi Patrick, here is the solution lst={6,44,30,15,24,12,33,23,18}; patt={a___,b_,c___,d_,e___,f_,g___,h_,i___}; cond= b+d+f+h==100; (* The problem is that : *) Attributes[Condition] {HoldAll, Protected} (* use *) lst /. Rule[Condition[Evaluate[patt],Evaluate[cond]],{b,d,f,h}] (* and it works as expected *) {44, 15, 23, 18} Jens