【Ruby3.x】ObjectSpace::WeakMap::include?()メソッドの使い方
include?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
include?メソッドは、ObjectSpace::WeakMapオブジェクトが、指定されたキーを現在保持しているかどうかを判定するメソッドです。
ObjectSpace::WeakMapは、キーと値を関連付けて保存するコレクションですが、通常のハッシュとは異なり、キーへの参照が「弱い参照」であるという特徴があります。これは、もしキーとして使われているオブジェクトが他のどこからも参照されなくなった場合、Rubyのガベージコレクションによってそのオブジェクトが自動的にメモリから解放される可能性があることを意味します。キーが解放されると、WeakMapからもそのキーと値のペアは自動的に削除されます。
このinclude?メソッドは、引数として渡されたオブジェクトが、現在このWeakMap内で有効なキーとして存在している場合にtrueを返します。もし、そのオブジェクトが以前WeakMapのキーとして追加されたとしても、すでにガベージコレクションによってメモリから解放されている場合は、WeakMap内には存在しないと判断され、falseを返します。
したがって、include?メソッドは、指定されたオブジェクトがまだ「生きている」状態でWeakMap内に含まれているかを確認する目的で使用されます。これは、メモリ使用量を効率的に管理したい場合や、一時的な参照でキーを追跡したいような状況で特に役立ちます。
構文(syntax)
1weak_map.include?(key)
引数(parameters)
key
- key: 検索したいキーを指定します。
戻り値(return)
Boolean
指定されたキーがマップに含まれているかどうかを真偽値(trueまたはfalse)で返します。