>>693
module Enumerable
def select_by(block)
return to_enum(__method__, block) unless block_given?
each {|e| yield e if block.call(*e) }
end
end

require 'prime'
Prime.instance.each_cons(2).select_by(lambda {|x, y| y - x == 2}).first(10)

でどう?