Method: Hamster::Vector#initialize
- Defined in:
- lib/hamster/vector.rb
#initialize(items = [].freeze) ⇒ Vector
Returns a new instance of Vector.
85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/hamster/vector.rb', line 85 def initialize(items=[].freeze) items = items.to_a if items.size <= 32 items = items.dup.freeze if !items.frozen? @root, @size, @levels = items, items.size, 0 else root, size, levels = items, items.size, 0 while root.size > 32 root = root.each_slice(32).to_a levels += 1 end @root, @size, @levels = root.freeze, size, levels end end |