Class: Array

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

Instance Method Summary collapse

Instance Method Details

#reduce(initial_value = 0, &proc) ⇒ Object



2
3
4
5
6
7
8
# File 'lib/array_helper.rb', line 2

def reduce(initial_value = 0, &proc)
  calculated_value = initial_value
  self.each_with_index do |e, i|
    calculated_value = yield(calculated_value, e, size, i)
  end
  calculated_value
end

#to_freq_hashObject



10
11
12
13
14
15
16
# File 'lib/array_helper.rb', line 10

def to_freq_hash
  freq = {}
  each do |e|
    freq[e] = freq[e].to_i + 1
  end
  freq
end

#to_grouped_hashObject



31
32
33
34
35
36
37
38
39
# File 'lib/array_helper.rb', line 31

def to_grouped_hash
  groups = {}
  each do |e|
    key, value = yield(e)
    groups[key] ||= []
    groups[key] << value
  end
  groups
end

#to_summarized_hash(operation_symbol = :+) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/array_helper.rb', line 18

def to_summarized_hash(operation_symbol = :+)
  sums = {}
  each do |e|
    key, value = yield(e)
    if sums[key]
      sums[key] = sums[key].send(operation_symbol, value)
    else
      sums[key] = value
    end
  end
  sums
end