# 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