def reverse_each
      return enum_for(__method__) unless block_given?
      each.to_a.reverse.each { |v| yield v }
    end
def reverse_each
      return enum_for(__method__) unless block_given?
      each.to_a.reverse.each { |v| yield v }
    end
Same as {#each} but in reverse order

 @example
   Pattern.new([1, 2, 3]).reverse_each.to_a
   # => [3, 2, 1]

 @return [Enumerator]
 @yield [Object] value