def mygenerator(): for i in range(10): yield i for j in mygenerator(): print j # NOW THE TRANSLATION OF YOUR RUBY ONE def notagenerator(fn): for i in range(10): fn(i) def _print(j): print j notagenerator(_print)