Class: SetPartition::Array

Inherits:
Object
  • Object
show all
Defined in:
lib/set_partition/array.rb

Instance Method Summary collapse

Constructor Details

#initialize(array, partition_size = nil) ⇒ Array

Returns a new instance of Array.



3
4
5
6
7
8
9
10
# File 'lib/set_partition/array.rb', line 3

def initialize array, partition_size=nil
  @array     = array
  @generator = if partition_size
                 FixedGenerator.new array.size, partition_size
               else
                 Generator.new array.size
               end
end

Instance Method Details

#currentObject



40
41
42
# File 'lib/set_partition/array.rb', line 40

def current
  reify @generator.current
end

#endObject



16
17
18
# File 'lib/set_partition/array.rb', line 16

def end
  reify @generator.end
end

#nextObject



20
21
22
# File 'lib/set_partition/array.rb', line 20

def next
  reify @generator.next
end

#partition_sizeObject



28
29
30
# File 'lib/set_partition/array.rb', line 28

def partition_size
  @generator.size
end

#prevObject



24
25
26
# File 'lib/set_partition/array.rb', line 24

def prev
  reify @generator.prev
end

#startObject



12
13
14
# File 'lib/set_partition/array.rb', line 12

def start
  reify @generator.start
end

#to_aObject



32
33
34
35
36
37
38
# File 'lib/set_partition/array.rb', line 32

def to_a
  [reify(@generator.start)].tap do |array|
    while @generator.next
      array.push reify @generator.current
    end
  end
end