# File packstruct.rb, line 32 def unpack(s) #d = s.unpack(packformat) fields.each_index do |i| if(types[i].kind_of? Class) t = types[i].unpack(s) else t = *s.unpack(types[i]) s.slice!(0..([t].pack(types[i]).length) - 1) end #$stderr.puts("#{fields[i]} = #{t}") #$stderr.puts("#{s.inspect} remains of s") assign(fields[i], t) end self end