Ich verwende Linux, habe ein Python 3.9-Venv erstellt, Ruff im Venv installiert und diesen Code geschrieben:
Code: Select all
def process_data(data: list[int]) -> str:
match data:
case []:
return "No data"
case [first, *_] if (average := lambda: sum(data) / len(data)) and average() > 50:
return f"Data average is high: {average():.2f}, starting with {first}"
case _:
return f"Processed {len(data)} items."
Die Übereinstimmungssyntax ist nicht in Python 3.9 enthalten, daher würde ich beim Ausführen von ruff check einen Fehler erwarten. Ich habe versucht, project.requires-python und ruff.target-version festzulegen, aber letzteres scheint laut Dokumentation nur für den Formatierer verwendet zu werden. Was übersehe ich?