DE wrote: > Hello, > > Here is what I do in C++ and can not right now in python : > > pushMatrix() > { > drawStuff(); > > pushMatrix(); > { > drawSomeOtherStuff() > } > popMatrix(); > } > popMatrix(); > > The curly brackets have no functional meaning but increase the > readability significantly. I want to be able to do the same thing in > python. Since curly brackets are not available and indenting without > an if or while conditional doesn't work, I have started to question if > this is possible in python at all. > > Any ideas ?
You could use if True: # do stuff but I have no sympathy for such self-inflicted noise. With Python 2.5 you can do even better -- you can emulate what should have been RAII in your C++ example in the first place: from __future__ import with_statement from contextlib import contextmanager def push_matrix(): print "push" def pop_matrix(): print "pop" @contextmanager def matrix(): m = push_matrix() try: yield m finally: pop_matrix() with matrix(): print "do stuff" with matrix(): print "do more stuff" Peter -- http://mail.python.org/mailman/listinfo/python-list