What I want to do is to extract the integer value corresponding to a bit
field within a FixNum. That is, for example, what is the integer value
formed by bits 4,5,6,7,8 of a number?

This is my ugly first cut. There must be a library function that does
this but I can't find it. Anyone have a pointer, that would be great!!
Or a suggestion on refactoring/rewriting this?

Thanks!

def bit_field(from, to, val)
  accum = 0
  ind = 0
  from.upto(to) do |index|
    bitval = val[index]
    accum = accum + bitval * (2 ** ind)
    ind = ind + 1
  end
  accum
end
-- 
Posted via http://www.ruby-forum.com/.