Всякий раз, когда я меняю значения в массиве, я уверен, что я сохранил одно из значений в ссылочной переменной. Но я обнаружил, что Ruby может возвращать два значения, а также автоматически менять два значения. Например,
array = [1, 3, 5 , 6 ,7]
array[0], array[1] = array[1] , array[0] #=> [3, 1]
Мне было интересно, как это делает Ruby.