Class: Array
- Inherits:
-
Object
- Object
- Array
- Defined in:
- lib/array_helper.rb
Instance Method Summary collapse
- #reduce(initial_value = 0, &proc) ⇒ Object
- #to_freq_hash ⇒ Object
- #to_grouped_hash ⇒ Object
- #to_summarized_hash(operation_symbol = :+) ⇒ Object
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_hash ⇒ Object
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_hash ⇒ Object
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 |