Class: Bitary
- Inherits:
-
Object
show all
- Includes:
- Size
- Defined in:
- lib/bitary.rb,
lib/bitary/size.rb,
lib/bitary/bitwarr.rb,
lib/bitary/version.rb
Defined Under Namespace
Modules: Size
Classes: Bitwarr
Constant Summary
collapse
- VERSION =
'0.1.9'
Constants included
from Size
Size::BYTE, Size::INT, Size::LONG, Size::SHORT
Instance Method Summary
collapse
Constructor Details
#initialize(initial_data, bpi: LONG) ⇒ Bitary
Returns a new instance of Bitary.
10
11
12
13
14
15
|
# File 'lib/bitary.rb', line 10
def initialize(initial_data, bpi: LONG)
check_initial_data(initial_data)
check_bpi(bpi)
@bitwarr = Bitwarr.new(initial_data, bpi:)
end
|
Instance Method Details
#[](index) ⇒ Object
Also known as:
at
17
18
19
20
21
|
# File 'lib/bitary.rb', line 17
def [](index)
check_bit_index(index)
@bitwarr.bit_at(index)
end
|
#[]=(index, value) ⇒ Object
23
24
25
26
27
28
29
30
|
# File 'lib/bitary.rb', line 23
def []=(index, value)
check_bit_index(index)
case obj_to_bit(value)
when 0 then @bitwarr.unbit_at!(index)
else @bitwarr.bit_at!(index)
end
end
|
#bpi ⇒ Object
62
63
64
|
# File 'lib/bitary.rb', line 62
def bpi
@bitwarr.bpi
end
|
#bpi=(value) ⇒ Object
52
53
54
55
56
|
# File 'lib/bitary.rb', line 52
def bpi=(value)
check_bpi(value)
@bitwarr.bpi = value
end
|
#each_byte ⇒ Object
40
41
42
|
# File 'lib/bitary.rb', line 40
def each_byte(&)
@bitwarr.each_byte(&)
end
|
#set(index) ⇒ Object
32
33
34
|
# File 'lib/bitary.rb', line 32
def set(index)
self[index] = 1
end
|
#size ⇒ Object
58
59
60
|
# File 'lib/bitary.rb', line 58
def size
@bitwarr.bitsize
end
|
#to_a ⇒ Object
44
45
46
|
# File 'lib/bitary.rb', line 44
def to_a
@bitwarr.to_a
end
|
#to_s ⇒ Object
48
49
50
|
# File 'lib/bitary.rb', line 48
def to_s
@bitwarr.to_s
end
|
#unset(index) ⇒ Object
36
37
38
|
# File 'lib/bitary.rb', line 36
def unset(index)
self[index] = 0
end
|