Method: Enumerable#every
- Defined in:
- lib/quality_extensions/enumerable/every.rb
#every(n) ⇒ Object
Yields every nth object (if invoked with a block), or returns an array of every nth object.
every(2), for example, would return every other element from the enumerable:
[1, 2, 3, 4, 5, 6].every(2) -> [1, 3, 5]
[1, 2, 3, 4, 5, 6].every(2) { |i| ... } -> nil
23 24 25 26 27 28 29 30 31 |
# File 'lib/quality_extensions/enumerable/every.rb', line 23 def every(n) result = [] unless block_given? each_with_index do |object, i| if i % n == 0 block_given?? yield(object) : result << object end end return block_given?? nil : result end |