Match statement with literal strings
Greg Ewing
greg.ewing at canterbury.ac.nz
Wed Jun 7 19:58:51 EDT 2023
On 8/06/23 10:18 am, Jason Friedman wrote:
> SyntaxError: name capture 'RANGE' makes remaining patterns unreachable
The bytecode compiler doesn't know that you intend RANGE
to be a constant -- it thinks it's a variable to bind a
value to.
To make this work you need to find a way to refer to the
value that isn't just a bare name. One way would be to
define your constants using an enum:
class Options(Enum):
RANGE = "RANGE"
MANDATORY = "MANDATORY"
match stuff:
case Options.RANGE:
...
case Options.MANDATORY:
...
--
Greg
More information about the Python-list
mailing list