MathGroup Archive 2006

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

Search the Archive

Re: ReplacePart in an If[] construct?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg67832] Re: ReplacePart in an If[] construct?
  • From: kalymereau at yahoo.fr
  • Date: Sun, 9 Jul 2006 04:51:11 -0400 (EDT)
  • References: <e8nttf$kcf$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi

gardyloo a écrit :

> In[2]:=
> (If[  (ListQ[#1] && First[#1] == 4),
>     ReplacePart[#1, replaced!, 3];
>     ReplacePart[#1, replaced!, 2],
>    #1      (*otherwise*)
> ] & ) /@ testList
>
> Out[2]=
> {{3, an, example, list}, {4, replaced!, example, list}}
>
>
>         Can someone tell me why BOTH the second and third positions in
> the second element in testList aren't turned to "replaced!" ?  I have

With this syntax you should write

 (If[  (ListQ[#1] && First[#1] == 4),
     tmp=ReplacePart[#1, replaced!, 3];
     ReplacePart[tmp, replaced!, 2],
    #1      (*otherwise*)
 ] & ) /@ testList


But why not simply use pattern matching:

testList/.{4,_,_,z___}:>{4,replaced!,replaced!,z}

?


  • Prev by Date: Re: StylePrint and 2D strings
  • Next by Date: help with lists operations
  • Previous by thread: Re: ReplacePart in an If[] construct?
  • Next by thread: Re: Re: ReplacePart in an If[] construct?