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

Skip Montanaro skip@pobox.com (Skip Montanaro)
Tue, 13 Nov 2001 10:26:19 +0100


    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?

Skip