Class: Bytepack::Array
Constant Summary
collapse
- LENGTH_TYPE =
AnyType
Class Method Summary
collapse
Methods inherited from Struct
classifyDataType, config, packingDataType, single_type_array?, testpacking
Class Method Details
.pack(array = []) ⇒ Object
6
7
8
9
|
# File 'lib/bytepack/complex/array.rb', line 6
def pack(array = [])
elements_count = array.size
self::LENGTH_TYPE.pack(elements_count) + array.map {|val| AnyType.pack(val)}.join
end
|
.unpack(bytes, offset = 0) ⇒ Object
11
12
13
14
15
16
17
18
|
# File 'lib/bytepack/complex/array.rb', line 11
def unpack(bytes, offset = 0)
elements_count, offset = *self::LENGTH_TYPE.unpack(bytes, offset)
elements = elements_count.times.map do
element, offset = *AnyType.unpack(bytes, offset)
element
end
[elements, offset]
end
|