| Store | Cart

Suggesting a new feature - "Inverse Generators"

From: Tim Hochberg <tim....@ieee.org>
Fri, 25 Mar 2005 09:25:30 -0700
Jordan Rastrick wrote:

[CHOP]

> Behold:> > # An Acceptor/Generator!!!> def combineIntoRecords():>        optionalline = None # We may not get given a value for this line>        accept firstline>        accept secondline>        if condition(secondline):>           accept optionalline>        accept lastline>        yield createRecord(firstline, secondline, optionalline,> lastline)

That's a nice example, but why not:

def combineIntoRecords(iterable):
     iterator = iter(iterable)
     optionalline = None
     firstline = iterator.next()
     secondline = iterator.next()
     if condition(secondline):
         optionalline = iterator.next()
     lastline = iterator.next()
     yield createRecord(firstline, secondline, optionalline, lastline)

???

-tim

> > def getData(lines):> 	return list(combineIntoRecords(filterJunk(lines)))> > So, alas, my beloved for loop was not saved after all.> > Fortunately, the dreaded While loop has been vanquished. In fact all> loopiness has disappeared. Along with any other semblance of a main> method.> > I think I like the finished result. I'll leave if for you to decide if> you like it too.> 

Recent Messages in this Thread
Jordan Rastrick Mar 25, 2005 04:04 pm
Jordan Rastrick Mar 25, 2005 04:10 pm
Andrew Koenig Mar 25, 2005 04:18 pm
Jordan Rastrick Mar 25, 2005 04:36 pm
Andrew Koenig Mar 26, 2005 01:40 pm
Tim Hochberg Mar 25, 2005 04:25 pm
Michael Spencer Mar 25, 2005 04:46 pm
Jordan Rastrick Mar 25, 2005 05:23 pm
Michael Spencer Mar 25, 2005 06:41 pm
Serge Orlov Mar 25, 2005 07:14 pm
Jordan Rastrick Mar 26, 2005 06:56 am
Peter Otten Mar 26, 2005 08:04 am
Scott David Daniels Mar 25, 2005 07:34 pm
Michael Spencer Mar 25, 2005 08:07 pm
Scott David Daniels Mar 25, 2005 09:00 pm
Bengt Richter Mar 25, 2005 10:11 pm
Bengt Richter Mar 25, 2005 07:43 pm
Terry Reedy Mar 25, 2005 07:13 pm
Jordan Rastrick Mar 25, 2005 04:49 pm
Diez B. Roggisch Mar 25, 2005 06:13 pm
Jordan Rastrick Mar 26, 2005 04:11 pm
phil...@yahoo.com Mar 27, 2005 03:44 am
Oren Tirosh Mar 27, 2005 06:58 am
Messages in this thread