@jerrold_langworth Если заданный массив чисел, то сложить все элементы массива в Ruby можно вызвав .sum посмотрите небольшой пример как это работает:
1 2 3 |
array = [1, 2, 3, 4] print(array.sum) |
@jerrold_langworth
Можно использовать метод reduce
(или inject
- это синонимы) для сложения элементов массива. Например, чтобы сложить все элементы между собой:
1 2 3 |
arr = [1, 2, 3, 4, 5] result = arr.reduce(:+) puts result #=> 15 |
А можно и передать в reduce
блок, который будет принимать два аргумента: аккумулятор и текущий элемент массива. В блоке нужно выполнить операцию, которую вы хотите применить к элементу массива и аккумулятору, и вернуть результат, который будет использован как новое значение аккумулятора:
1 2 3 |
arr = [1, 2, 3, 4, 5] result = arr.reduce(0) { |acc, item| acc + item } puts result #=> 15 |
В каждой итерации acc
- это результат предыдущей итерации (0
в первом случае), а item
- текущий элемент массива.