a = [0, 1, 2, 3, 4, 5]

# example 1

def reverse(array)
  array.each_with_index do |val, index|
    break if index >= array.count / 2
    temp = array[index]
    array[index], array[-index-1] = array[-index-1], temp
  end
  
  return array
end

reverse(a)

# example 2

def reverse(array)
  array.reduce([]) do |memo, item|
    memo.unshift(item)
  end
end

reverse(a)