| Class | Racket::Misc::LV |
| In: |
lib/racket/misc/lv.rb
(CVS)
|
| Parent: | Object |
Simple class to represent data structures that consist of an arbitrary number of length value pairs.
# File lib/racket/misc/lv.rb, line 48 def decode(data) n = 0 values = [] lengths = [] @sizes.each do |s| # XXX: raise an error here if there is not enough data to # unpack this next LV lengths[n] = data.unpack("#{punpack_string(s)}")[0] data = data.slice(s, data.length) values[n] = data.unpack("a#{lengths[n]}")[0] data = data.slice(lengths[n], data.length) n += 1 end # data now contains "rest" [lengths, values, data] end
# File lib/racket/misc/lv.rb, line 66 def decode!(data) @lengths, @values, @rest = self.decode(data) end