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: [mg67819] Re: [mg67816] ReplacePart in an If[] construct?
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Sun, 9 Jul 2006 04:50:37 -0400 (EDT)
  • References: <200607080857.EAA20495@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

On 8 Jul 2006, at 09:57, gardyloo wrote:

>
> Hi, all,
>
>    It's probably that I'm too tired, but I have a question about using
> ReplacePart in an If[] construct. I've made up a (very) minimal  
> example:
>
> In[1]:=
> testList = {{3, an, example, list},
>    {4, another, example, list}}
>
> Out[1]=
> {{3, an, example, list}, {4, another, example, list}}
>
> 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
> plenty of other ways of doing this, but this seemed the most
> straightforward, and I can't wrap my head around it, for some reason.


They are indeed both "replaced", but only the second one is RETURNED.  
Note that ReplacePart does not change its first argument:


a= {4, another, example, list};

ReplacePart[a,replaced!,3]

{4,another,replaced!,list}

a
{4,another,example,list}

Andrzej Kozlowski
Oxford, UK


  • Prev by Date: frontend crashing
  • Next by Date: Re: StylePrint and 2D strings
  • Previous by thread: ReplacePart in an If[] construct?
  • Next by thread: Re: ReplacePart in an If[] construct?