aroberge / ideas

Easy creation of custom import hooks to experiment on alternatives to Python's syntax; see https://aroberge.github.io/ideas/docs/html/
Other
79 stars 4 forks source link

Deprecate (or modify) switch.py #39

Open C-Ezra-M opened 2 years ago

C-Ezra-M commented 2 years ago

switch.py should be deprecated, or at least modified because of match statements that debuted in 3.10.6.

Relevant PEPs:

match statements look like this:

from random import randint
match randint(0, 10):
  case 0 | 1 | 2 | 3:
    print("Terrible!")
  case 4:
    print("My favorite number!")
  case 5 | 6:
    print("Average.")
  case 7 | 8:
    print("Good!")
  case 9 | 10:
    print("Terrific!")
  case _: # default
    print("Uh oh, something has happened.")

My idea is to introduce default: as an alias of case _: (which also means disallowing default from being an identifier). If reserving default is not an option, just use else.

aroberge commented 2 years ago

The examples included in this repository are just that: examples. They are meant to demonstrate what is possible to do with ideas. So, I do not plan to deprecate any examples - especially since they work with Python 3.6.

Modifying it so that it does not conflict with the match statement is likely a good idea. If you want to submit a PR that does just that, you are more than welcome. :-) Otherwise, I'll eventually do it myself, but this is not a high priority for me.