if you want to create a new method for array just do

class Array
  def cartprod(ary)
    result = []
    self.each do |ae|
      ary.each do |be|
        result << [ae, be]
      end
    end
    result
  end
end

this way you can have an array and do new_array =
source_array.cartprod(other_array)