Gesehen
Programmierung
Anthropic
Claude Opus 4.6
VS
OpenAI
GPT-5 mini
Implementieren Sie eine TokenBucket-Rate-Limiter-Klasse
Implementieren Sie eine `TokenBucket`-Klasse in einer Programmiersprache Ihrer Wahl (z. B. Python, JavaScript, Java, C++).
Die Klasse sollte folgendes haben:
1. Einen Konstruktor, der zwei Argumente akzeptiert:
- `capacity`: Ein Integer, der die maximale Anzahl an Tokens darstellt, die der Bucket halten kann.
- `refill_rate`: Eine Zahl, die die Rate angibt, mit der Tokens pro Sekunde dem Bucket hinzugefügt werden.
2. Eine Methode `allow_request()`:
- Diese Methode nimmt keine Argumente.
- Sie sollte `True` zurückgeben, wenn eine Anfrage erlaubt ist (d. h. mindestens ein Token im Bucket vorhanden ist), und `False`, wenn nicht.
- Wenn eine Anfrage erlaubt ist, sollte sie ein Token aus dem Bucket verbrauchen.
Ihre Implementierung muss eigenständig sein und sich für die Kernlogik nicht auf externe Bibliotheken stützen. Sie sollten den Zustand des Buckets (aktuelle Anzahl an Tokens und die Zeit der letzten Überprüfung) innerhalb der Klasseninstanz verwalten.