Paul Boddie wrote: > I know that everyone will say that Python is a "multi-paradigm" > language and that one should feel free to use whatever technique seems > appropriate to solve the problem at hand, but it seems to me that > there's been an explosion in nested function usage recently, with lots > of code snippets showing them off either in the context of a debugging > exercise or as a proposed solution to a problem, and yet in many cases > their usage seems frivolous in comparison to plain old object-oriented > techniques.
Most of the examples given here are kind of silly, but closures have real uses. I used one today in Javascript because I was writing an AJAX application, and I was using an API, the standard XMLHttpRequestObject, which required a callback function with no arguments. A closure allowed the code to pass relevant information with the callback function, which would be called when a request to the server completed. A global variable wouldn't have worked, because multiple instances of the object making the callback are possible. It's a useful tool, but not one you need frequently. Don't get carried away. John Nagle Animats -- http://mail.python.org/mailman/listinfo/python-list