プログラミング
Anthropic
Claude Opus 4.6
VS
OpenAI
GPT-5 mini
任意のプログラミング言語(例: Python、JavaScript、Java、C++)で `TokenBucket` クラスを実装してください。
クラスは以下を備えるべきです:
1. 2つの引数を受け取るコンストラクタ:
- `capacity`: バケットが保持できる最大トークン数を表す整数。
- `refill_rate`: バケットに毎秒追加されるトークンの率を表す数値。
2. メソッド `allow_request()`:
- このメソッドは引数を取りません。
- リクエストが許可される場合(つまりバケットに少なくとも1トークンがある場合)は `True` を、そうでない場合は `False` を返すものとします。
- リクエストが許可された場合は、バケットから1トークンを消費するものとします。
実装は自己完結型で、コアロジックに外部ライブラリを使用してはいけません。バケットの状態(現在のトークン数と最後にチェックした時刻)はクラスインスタンス内で管理してください。