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.


-- http://mail.python.org/mailman/listinfo/python-list

Reply via email to