Обмен различных элементов массивов в ruby - PullRequest
1 голос
/ 05 февраля 2020

Есть ли какой-нибудь метод ruby, который я могу использовать для замены двух разных элементов массива? Например, у меня есть эти два массива:

#Before exchange
arr_one = [1,2,3,4,5]
arr_two = ["some", "thing", "new"]

После замены элементов я ожидаю что-то вроде этого:

#After exchange
arr_one = ["some", "thing", "new"]
arr_two = [1,2,3,4,5]

Как я могу справиться с этим или без ruby метод?

Ответы [ 2 ]

5 голосов
/ 05 февраля 2020

Вы имеете в виду, вы хотите «обменять» значения локальных переменных? Это довольно просто в Ruby:

arr_one, arr_two = arr_two, arr_one
4 голосов
/ 05 февраля 2020

Если вам нужно, чтобы массивы оставались на месте (то есть значения переменных не менялись) и обменивались содержимым , то это должно сделать:

arr_tmp = arr_one.dup
arr_one.replace(arr_two)
arr_two.replace(arr_tmp)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...