MathGroup Archive 2008

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

Search the Archive

Re: Functional programming?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg92066] Re: Functional programming?
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Fri, 19 Sep 2008 05:15:14 -0400 (EDT)

On 9/18/08 at 7:25 AM, bertmayo at earthlink.net (bertmayo) wrote:

>David Bailey says:
>>I think you have chosen a rather favourable example here. Suppose
>>instead that you need to remove every zero together with the
>>preceding element (sweeping from left to right).

>A quick and dirty fp answer is (safer code would check that leading
>elements were not already zero)

>In[1]:=  v =  {1, 2, 0, 3, 4, 0};
>v1 = MapAt[0 &, v, Position[v, 0] - 1];
>v2 = Select[v1, # != 0 &]
>
>Out[1]=  {1, 3}

Even more concise

In[15]:= v //. {{a___, _, 0, b___} -> {a, b},{0, b___} -> {b}}

Out[15]= {1,3}

But perhaps pattern matching isn't considered part of functional programing


  • Prev by Date: Re: weird NMaximize behaviour
  • Next by Date: WorldPlot and crosshatching countries
  • Previous by thread: Re: Functional programming?
  • Next by thread: Re: Functional programming?