ruff :匹配/大小写语法上的 E999 SyntaxError

Rom*_*ain 2 python-3.x linter python-3.10 ruff

当我使用匹配/大小写语法时,我遇到了 ruff (0.0.209) 和 python 3.10.9 解释器的奇怪问题。例如,这个简单的代码:

from http import HTTPStatus

http_status = HTTPStatus.OK

match http_status:
    case HTTPStatus.OK:
        print("OK!")

    case HTTPStatus.BAD_REQUEST:
        print("Bad, bad Zoot!")

    case _:
        print("Just a flesh wound.")
Run Code Online (Sandbox Code Playgroud)

提出一个5:8: E999 SyntaxError: invalid syntax. Got unexpected token 'http_status'

同时,ruff 辩称它现在支持 python3.11。谁在说谎?:)

我尝试用最新版本更新 ruff

fan*_*ars 7

不幸的是,截至 2023 年 1 月 6 日,它不受支持。这就是跟踪问题

更新(2023-03-11):获取 ruff 0.0.250或更高版本。

  • 谢谢 !这就是我一直在寻找的:) 这不是我所说的“符合 python 3.11” 顺便说一句 (4认同)