[Python-Dev] PEP 275: "Switching on Multiple Values", Rev 1.1

M.-A. Lemburg mal@lemburg.com
2001年11月13日 11:08:07 +0100


Skip Montanaro wrote:
>> mal> Syntax:
>> mal> switch EXPR:
> mal> case CONSTANT:
> mal> SUITE
> mal> case CONSTANT:
> mal> SUITE
> mal> ...
> mal> else:
> mal> SUITE
>> mal> (modulo indentation variations)
>> mal> The "else" part is optional. If no else part is given and none
> mal> of the defined cases matches, a ValueError is raised.
>> Hmmm... This doesn't jive well with current if statement semantics. I can
> write
>> if x == "first":
> dofirst()
>> and no ValueError is raised if x == "second". Why should switch be any
> different?

Hmm, you may have a point there. If the programmer wants an
exception to be raised in case none of the values matches,
she can put that code into the else-clause... I'll have to 
think about this some more, but it seems that you're right.
-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Consulting & Company: http://www.egenix.com/
Python Software: http://www.lemburg.com/python/

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