| # flags: --minimum-version=3.10 |
| import match |
| |
| match something: |
| case [a as b]: |
| print(b) |
| case [a as b, c, d, e as f]: |
| print(f) |
| case Point(a as b): |
| print(b) |
| case Point(int() as x, int() as y): |
| print(x, y) |
| |
| |
| match = 1 |
| case: int = re.match(something) |
| |
| match re.match(case): |
| case type("match", match): |
| pass |
| case match: |
| pass |
| |
| |
| def func(match: case, case: match) -> case: |
| match Something(): |
| case func(match, case): |
| ... |
| case another: |
| ... |
| |
| |
| match a, *b, c: |
| case [*_]: |
| assert "seq" == _ |
| case {}: |
| assert "map" == b |
| |
| |
| match match( |
| case, |
| match( |
| match, case, match, looooooooooooooooooooooooooooooooooooong, match, case, match |
| ), |
| case, |
| ): |
| case case( |
| match=case, |
| case=re.match( |
| loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong |
| ), |
| ): |
| pass |
| case [a as match]: |
| pass |
| case case: |
| pass |
| case something: |
| pass |
| |
| |
| match match: |
| case case: |
| pass |
| |
| |
| match a, *b(), c: |
| case d, *f, g: |
| pass |
| |
| |
| match something: |
| case { |
| "key": key as key_1, |
| "password": PASS.ONE | PASS.TWO | PASS.THREE as password, |
| }: |
| pass |
| case {"maybe": something(complicated as this) as that}: |
| pass |
| |
| |
| match something: |
| case 1 as a: |
| pass |
| case 2 as b, 3 as c: |
| pass |
| case 4 as d, (5 as e), (6 | 7 as g), *h: |
| pass |
| |
| |
| match bar1: |
| case Foo(aa=Callable() as aa, bb=int()): |
| print(bar1.aa, bar1.bb) |
| case _: |
| print("no match", "\n") |
| |
| |
| match bar1: |
| case Foo( |
| normal=x, perhaps=[list, {"x": d, "y": 1.0}] as y, otherwise=something, q=t as u |
| ): |
| pass |