#! /usr/bin/env python

def ints():
    i=0
    while True:
        yield i
        i += 1

gen = ints()
while True:
    i = gen.next()
    print i
    if i==5:
        r = gen.send(2)
        print "return:",r
    if i>10:
        break

I thought the send call would push the value "2" at the front of the
queue. Instead it coughs up the 2, which seems senseless to me.

1/ How should I view the send call? I'm reading the manual and dont' get
it
2/ Is there a way to push something in the generator object? So that it
becomes the next yield expression? In my code I was hoping to get
0,1,2,3,4,5,2,6,7 as yield expressions.

Victor.


-- 
Victor Eijkhout -- eijkhout at tacc utexas edu
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to