Module: EnumerableEnumerables

Included in
ArrayOfEnumerables
Defined in
lib/kyanite/enumerable/enumerable_enumerables.rb

Enumeration Of Enumerations

Two-dimensional enumerables or enumerables of objects, which are enumerable.

Kyanite definitions

EnumerableEnumerables

Kyanite class with module included

ArrayOfEnumerables

Kyanite tests and examples

TestKyaniteEnumerableEnumerables

Usage

require 'kyanite/enumerable/enumerable_enumerables'

Instance Method Summary (collapse)

Instance Method Details

- (Object) rectangle

Makes the Enumerable rectangular (= strict two-dimensional). The first row is essential.

See tests and examples here.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/kyanite/enumerable/enumerable_enumerables.rb', line 29

def rectangle
  qsize = self[0].size   
  result = ArrayOfEnumerables.new
  self.each do |zeile|
    size_diff = qsize - zeile.size  
    # so lassen oder zuschneiden      
    if size_diff <= 0
      result << zeile[0..qsize-1]
    # ergänzen
    else
      result << zeile + ([nil] * size_diff)
    end # if
  end # each zeile   
  result
end