Я делаю много суммирования массива в своем коде, поэтому я думаю о том, чтобы поменять класс Array, чтобы включить метод sum (который суммирует все элементы в массиве):
class Array
def sum
self.inject{ |s, t| s + t }
end
end
Однако я никогда раньше ничего не исправлял в общем коде, и я сомневаюсь, что это «безопасная» вещь (например, может быть, кто-то уже определил метод sum
в Array
) .
Так, как лучше всего суммировать массивы в коде, который я пишу, без необходимости писать arr.inject{ |s, t| s + t }
каждый раз? Есть ли безопасный способ обезьяна-патч? Могу ли я использовать модуль как-нибудь? Или я должен просто написать вспомогательный метод где-нибудь, который получает массив и возвращает сумму (т.е. def sum_array(arr); return arr.inject{ |s, t| s + t }; end
)? (Или есть какой-то совершенно другой подход?)