On 6/22/06, Nick Coghlan <[EMAIL PROTECTED]> wrote: > Talin wrote: > > I don't get what the problem is here. A switch constant should have > > exactly the bahavior of a default value of a function parameter. We > > don't seem to have too many problems defining functions at the module > > level, do we? > > Because in function definitions, if you put them inside another function, the > defaults of the inner function get reevaluated every time the outer function > is run. Doing that for the switch statement would kinda defeat the whole > point. . .
Really? Then where would you store the dict? You can't store it on the code object because that's immutable. You can't store it on the function object (if you don't want it to be re-evaluated when the function is redefined) because a new function object is created by each redefinition. There needs to be *some* kind of object with a well-defined life cycle where to store the dict. I'd say that we should just add a warning against switches in nested functions that are called only once per definition. -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com