Method: Enumerable#filter
- Defined in:
- lib/jinx/helpers/enumerable.rb
#filter {|item| ... } ⇒ Enumerable
Returns a new Enumerable that iterates over the base Enumerable items for which filter evaluates to a non-nil,
non-false value, e.g.:
[1, 2, 3].filter { |n| n != 2 }.to_a #=> [1, 3]
Unlike select, filter reflects changes to the base Enumerable, e.g.:
a = [1, 2, 3]
filter = a.filter { |n| n != 2 }
a << 4
filter.to_a #=> [1, 3, 4]
In addition, filter has a small, fixed storage requirement, making it preferable to select for large collections. Note, however, that unlike select, filter does not return an Array. The default filter block returns the passed item.
143 144 145 |
# File 'lib/jinx/helpers/enumerable.rb', line 143 def filter(&filter) Jinx::Filter.new(self, &filter) end |