Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Integer::allbits?()メソッドの使い方

allbits?メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

allbits?メソッドは、呼び出し元の整数オブジェクトが、引数で指定された別の整数のすべてのビットを含んでいるかどうかを判定するメソッドです。

このメソッドは、レシーバ(メソッドを呼び出す側の整数)のビットパターンが、引数として渡されたマスク(比較対象の整数)のビットパターンを完全に含んでいる場合にtrueを返します。より具体的に言うと、マスクのビットが1になっているすべての位置において、レシーバの対応するビットも1である場合にのみtrueとなります。もし、マスクで1になっているビットのうち、レシーバで0になっているビットが一つでも存在すれば、falseを返します。

この機能は、ビットマスクを利用したフラグ管理や、複数の状態をビットで表現している場合に特に有用です。例えば、あるオブジェクトが持つべき特定のアクセス権限や設定オプションの組み合わせがすべて有効であるかを、効率的に確認することができます。

引数には、比較対象となるビットマスクを表す整数を渡します。戻り値は、判定の結果を示す真偽値、すなわちtrueまたはfalseです。このメソッドは、レシーバと引数のビットごとの論理AND演算の結果が、引数自身と等しいかどうかを判定するのと同等の振る舞いをします。これにより、ビットレベルでの厳密な包含関係を簡潔にチェックすることが可能です。

構文(syntax)

15.allbits?(1)

引数(parameters)

mask

  • mask: 整数を指定します。この整数は、対象の整数が持つビットのうち、どのビットをチェックするかを指定します。

戻り値(return)

Boolean

Integerオブジェクトの全ビットが指定されたビットマスクで指定されたビットと一致するかどうかを判定し、真偽値(Boolean)を返します。

関連コンテンツ

関連プログラミング言語