Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more

In Files

  • dl/lib/dl/pack.rb

Parent

Included Modules

DL::Packer

Public Class Methods

[](*types) click to toggle source
 
               # File dl/lib/dl/pack.rb, line 66
def self.[](*types)
  new(types)
end
            
new(types) click to toggle source
 
               # File dl/lib/dl/pack.rb, line 70
def initialize(types)
  parse_types(types)
end
            

Public Instance Methods

pack(ary) click to toggle source
 
               # File dl/lib/dl/pack.rb, line 78
def pack(ary)
  case SIZEOF_VOIDP
  when SIZEOF_LONG
    ary.pack(@template)
  when SIZEOF_LONG_LONG
    ary.pack(@template)
  else
    raise(RuntimeError, "sizeof(void*)?")
  end
end
            
size() click to toggle source
 
               # File dl/lib/dl/pack.rb, line 74
def size()
  @size
end
            
unpack(ary) click to toggle source
 
               # File dl/lib/dl/pack.rb, line 89
def unpack(ary)
  case SIZEOF_VOIDP
  when SIZEOF_LONG
    ary.join().unpack(@template)
  when SIZEOF_LONG_LONG
    ary.join().unpack(@template)
  else
    raise(RuntimeError, "sizeof(void*)?")
  end
end