Ruby - цикл по массиву, удаление конечного элемента этого массива и добавление его в другой массив - PullRequest
1 голос
/ 28 октября 2019

Я пытаюсь выполнить следующую задачу кодирования.

Напишите программу для обхода массива с именем food, удаления конечного элемента этого массива и добавления его в массив с именем drink. Начальные значения этих массивов:

food = ["Tempura", "Prawn", "Squid", "Fish", "Chips"]
drink = ["Kombucha", "Coconut Mango", "Allberry", "Yogurt Rice", "Milk bubble tea"]

Я знаю, как получить последний элемент из первого массива и добавить его во второй массив.

print drink << food.slice(-1)

Я изо всех сил пытаюсь найти петлю, чтобы получить следующее.

food_&_drink = ["Kombucha", "Coconut Mango", "Allberry", "Yogurt Rice", "Milk bubble tea", "Chips", "Fish", "Squid", "Prawn", "Tempura"]

Как сопоставить элемент 1 из набора продуктов с элементом 4 в массиве напитков. С помощью метода, который я знаю, я не получаю выходное значение:

print food.flatten.zip(drink)

1 Ответ

3 голосов
/ 28 октября 2019

Самое простое / ясное решение для достижения желаемого результата (неразрушающе):

drink + food.reverse

Решение, соответствующее вашей формулировке:

until food.empty?
  drink << food.pop
end

или даже

drink << food.pop until food.empty?
...