saasbook

yield_example.rb

Aug 16th, 2013
480
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.36 KB | None | 0 0
  1. # return every n'th element in an enumerable
  2. module Enumerable
  3.   def every_nth(count)
  4.     index = 0
  5.     self.each do |elt|
  6.       yield elt if index % count == 0
  7.       index += 1
  8.     end
  9.   end
  10. end
  11.  
  12. list = (1..10).to_a # make an array from a range
  13. list.every_nth(3) { |s| print "#{s}, " }
  14. # => 1, 4, 7, 10,
  15. list.every_nth(2) { |s| print "#{s}, " }
  16. # => 1, 3, 5, 7, 9,
Add Comment
Please, Sign In to add comment