David Isaac wrote: > I would like to be able to define a loop statement > (nevermind why) so that I can write something like > > loop 10: > do_something > > instead of > > for i in range(10): > do_something > > Possible? If so, how?
Ruby and Smalltalk are both good at this kind of thing, since they have syntactic support for associating a block with each method call. In Python, I think you just have to do a little more setup. How about something like this? class Loop: def __init__(self, n): self.n = n def __call__(self): self.n = self.n - 1 return self.n != 0 if __name__ == '__main__': loop = Loop(10) while loop: print "OK" -- http://mail.python.org/mailman/listinfo/python-list