bit_set?(offset, lsb_first: true) -> bool | nilRuby 4.1 から[permalink][rdoc][edit]-
0 から数えたビット位置
offsetのビットが立っているかどうかを真偽値で返します。offsetがselfの範囲を超える場合はnilを返します。既定では、各バイト内のビットは最下位ビット(LSB)から最上位ビット(MSB)の順に番号が付きます。
lsb_firstにfalseを指定すると、バイトの並び順はそのままに、各バイト内のビット番号だけが最上位ビット(MSB)から最下位ビット(LSB)の順になります。- [PARAM]
offset: - 調べるビットの位置を 0 から数えた整数で指定します。
- [PARAM]
lsb_first: -
バイト内のビットの番号の付け方を指定します。既定は
true(最下位ビットが 0 番目)です。falseを指定すると最上位ビットが 0 番目になります。 - [RETURN]
-
offsetのビットが立っていればtrue、立っていなければfalseを返します。offsetがselfの範囲を超える場合はnilを返します。 - [EXCEPTION]
IndexError: -
offsetが負の場合に発生します。 - [EXCEPTION]
ArgumentError: -
offsetがビット位置として表現できないほど大きい場合に発生します。 - [EXCEPTION]
ArgumentError: -
lsb_firstにtrue、false以外を指定した場合に発生します。
s = "\xAA".b # 0b10101010 p s.bit_set?(0) # => false p s.bit_set?(1) # => true p s.bit_set?(8) # => nil p s.bit_set?(0, lsb_first: false) # => true p s.bit_set?(1, lsb_first: false) # => false[SEE_ALSO] String#bit_get
- [PARAM]