Allow methods with `yield` to be called without a block
Trying to figure out how
yield works in Python, i had the following idea.
Allow a method with
yield to be called without a block. When a method encounters
yield, if no block is given, the method returns an
def f yield 'a' yield 'b' end e = f puts e.next # => a puts e.next # => b
It seems that this is what
yield in Python does, but in Python a function with
yield cannot take a block. Why not to have both?