Я пытаюсь создать метод, который при передаче ему массива создает новый массив, который является его аддитивным обратным (EX: [1,2,3,4] => (аддитивный обратный) [-1] , -2, -3, -4]. Я попытался включить Enumerable, а также поставить .each. Я также избавился от .map, а затем у меня остался неопределенный метод 'x'. Я поиграл с код несколько раз, а также исследовал несколько сайтов о том, как работать с каждым элементом в массиве при его передаче в метод. Самое близкое, что я сделал, это:
def add_inv (x)
arr_new = x.map {|e| -e}
puts arr_new
end
add_inv([5,-7,8,3])
Вывод:
-5
7
-8
-3
Я ищу вывод в виде массива. Желаемый вывод: [-5, 7, -8, -3]
Заранее благодарен за положительные отзывы и критику. ( новый для Ruby)
РЕДАКТИРОВАТЬ: 12:29 - 13.04.2020 Продолжая играть с кодом и некоторыми предложениями ниже, я смог манипулировать массивом с помощью следующего кода и продолжу работать над придумать метод, который позволит вам передать массив в качестве аргумента, а затем превратить его в int o обратный массив. Вот код, который дал мне желаемый результат (хотя это еще не метод).
b = Array.new ([5,-7,8,3].map{|v| v*(-1)})
p b
Вывод: [-5,7, -8, -3]
Обновится один раз Я понимаю, как это сделать с помощью метода.