У меня есть этот массив, и мне нужно заменить его элементы умножением его предыдущего и следующего.
Я делаю следующее:
array.each_with_index{|element, index|
next_element = array[index+1]
previous_element = array[index-1]
}
array.map! {|a|
if a == array.first
a = a * next_element
elsif a == array.last
a = a * previous_element
else
a = next_element * previous_element
end
}
Ожидаю следующий результат:
array = [4, 1, 6, 7, 9, 3, 0] #given array
array = [4, 24, 7, 54, 21, 0, 0] #array replaced
Я получаю следующую ошибку:
undefined local variable or method `next_element' for Arrays:Class
Есть ли простой способ получить предыдущий и следующий элемент данного элемента массива?
Я использую метод array.map!
, верно?