class Bytepack::Array

Constants

LENGTH_TYPE

Public Class Methods

pack(array = []) click to toggle source
# 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) click to toggle source
# 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