class Array

def rindex_with_block(*arg)

def rindex_with_block(*arg)
  return to_enum(:rindex) if !block_given? && arg.empty?
  return rindex_without_block(*arg) unless block_given? && arg.empty?
  i = 0
  reverse_each{|o| i += 1; return size - i if yield o}
  return nil
end