3 ms·
Although it won't be as concise, you can use guards to emulate this feature with match data: case [x1, x2] if x1 == x2: ... I agree on
by CDSlice 6y ago
Although it won't be as concise, you can use guards to emulate this feature with
match data:
case [x1, x2] if x1 == x2:
...
I agree on this being a fantastic addition to the language. I've sorely missed not having pattern matching in Python after using Rust.
- RhysU 6y agoGuards feel superfluous if the x, x pattern can be trivially lowered into a guard.
- repsilat 6y agoMore vice versa. Guards look more general (being able to express not-equal, and less-than etc), so special semantics for `x,x` only seem warranted if it's very common.
- RhysU 6y agoAgreed they're more general. If I have a working guard implementation I can build the x, x case atop it. Meaning, the x, x case can be sugar.
- spott 6y agoI think this is a better version. It is less ambiguous and more general. The [x,x] version isn't clear if it is using `__eq__` or `is`.