[Python-Dev] PEP 3103: A Switch/Case Statement

Ka-Ping Yee python-dev at zesty.ca
Mon Jun 26 21:48:14 CEST 2006


On 2006年6月26日, Guido van Rossum wrote:
> I've written a new PEP, summarizing (my reaction to) the recent
> discussion on adding a switch statement. While I have my preferences,
> I'm trying to do various alternatives justice in the descriptions.

Thanks for writing this up!
The section that most draws my attention is "Semantics", and i guess
it isn't a surprise to either of us that you had the most to say
from the perspective you currently support (School II). :) Let me
suggest a couple of points to add:
 - School I sees trouble in the approach of pre-freezing a dispatch
 dictionary because it places a new and unusual burden on the
 programmer to understand exactly what kinds of case values are
 allowed to be frozen and when the case values will be frozen.
 - In the School II paragraph you say "Worse, the hash function
 might have a bug or a side effect; if we generate code that
 believes the hash, a buggy hash might generate an incorrect
 match" -- but that is primarily a criticism of the School II
 approach, not of the School I approach as you have framed it.
 It's School II that mandates that the hash be the truth.
 (It looks to me like what you're actually criticizing here is
 based on some assumptions about how you think School I might
 be implemented, and having taken School I a number of steps
 down that (unexplained) road you then see problems with it.)
Also, why is the discussion of School II mostly an argument against
School I? What about describing the advantages of each school?
-- ?!ng


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /