On 7/3/2020 8:28 AM, Rhodri James wrote:
On 03/07/2020 00:12, Nick Coghlan wrote:
On Fri., 3 Jul. 2020, 2:27 am MRAB, <pyt...@mrabarnett.plus.com> wrote:
match shape:
try Point(x, y):
...
try Rectangle(x0, y0, x1, y1, painted=True):
...
I'm actually surprised at how much I like that. It certainly gets me
out of the C mindset and makes it easier for me to recognise that
Point(x,y) isn't an instantiation.
I really like the verb subclause. A match statement *tries* to match an
object to sequence of pattern options, accepting the first structure
match. In C, the cases are values (bit patterns) and the matching is by
'equals'. For the proposed matching, equality is the trivial pattern
match, but generally, a more complicated action is required. I have the
impression that at least some match action failures could be detected by
a caught exception, as in "try: x,y = obj" to see if obj matches pattern
'x,y'. Since exceptions are ignored, try: clauses may bee followed by
another try: clause to try another pattern.
--
Terry Jan Reedy
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at
https://mail.python.org/archives/list/python-dev@python.org/message/2ZS4ZU4LPATRAHDHOSEJIWWMUXWZEY5H/
Code of Conduct: http://python.org/psf/codeofconduct/