Class: Array
Instance Method Summary collapse
-
#rcount_matching ⇒ Fixnum
Returns count of items that matches, iteration starts at the end and stops on first not matching item.
-
#rindex_last_matching ⇒ Fixnum
Returns index of last matching item when iterating from back to start of
self
.
Instance Method Details
#rcount_matching ⇒ Fixnum
Returns count of items that matches, iteration starts at the end and stops on first not matching item.
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/bade/ruby_extensions/array.rb', line 30 def rcount_matching count = 0 reverse_each do |item| break unless yield item count += 1 end count end |
#rindex_last_matching ⇒ Fixnum
Returns index of last matching item when iterating from back to start of self
.
Returns nil when the first item does not match (when iterating from back).
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/bade/ruby_extensions/array.rb', line 10 def rindex_last_matching return nil if empty? index = nil current_index = count - 1 reverse_each do |item| break unless yield item index = current_index current_index -= 1 end index end |