Нет встроенной функции для этого. Вы можете поменять значения следующим образом:
array = %w[a b c d]
array[1..2] = array[1..2].reverse
array #=> ["a", "c", "b", "d"]
Вы можете добавить несколько вспомогательных методов в класс массива ядра.
class Array
def move_up(index)
self[index, 2] = self[index, 2].reverse
self
end
def move_down(index)
move_up(index - 1)
end
end
Примечание: Имейте в виду, что это решение изменяет исходный массив. Вы также можете выбрать версию, которая создает новый массив. Для этой версии вы можете позвонить # dup (result = dup
), чем работать с result
вместо self
.
Ссылка: