現在ハッシュにキャッシュしている一意の ID を持つ Ruby オブジェクトが多数あります。オブジェクトに ID が割り当てられると、ハッシュに入ります。つまり、Ruby スコープに存在する ID を持つすべてのオブジェクトもキャッシュにあるはずです。
ただし、他のすべてのスコープからオブジェクトが消えたら、オブジェクトをキャッシュから削除する方法を見つけるのに苦労しています。これはもちろん、キャッシュに含まれるオブジェクトがガベージ コレクションされないためです。
この問題へのアプローチはありますか?のドキュメントはクラスをWeakRef
提案してWeakHash
いますが、実際の使用には受け入れられないようですが、プロジェクトに必要だと思うものに非常に近いです。