# File lib/hashery/sparsearray.rb, line 116 def []=(i,b,c=nil) if c rng = (Integer(i)..Integer(i+b)) b = c elsif i.kind_of? Range rng = i else self.set(Integer(i),b) return b end if b == nil rng.each { |i| qdelete(i) } self.reindex! elsif b.kind_of?(Array) or b.kind_of?(self.class) j = 0 rng.each { |i| self[i] = b[j]; j+=1 } else rng.each { |i| qdelete(i) } self[rng.fist] = b self.reindex! end end