Я писал скрипт на Ruby и понял, что мне нужно использовать метод Enumerable#sum
.Тем не менее, этот метод существует только в Ruby 2.4 и выше - и у меня есть 2.2.
Так что я мог бы добавить метод сам, как это
module Enumerable
def sum(init = 0, &block)
block ||= lambda { |x| x }
map(&block).inject(init, :+)
end
end
Но если я запустлю скрипт наНа компьютере с достаточно высокой версией Ruby моя реализация будет переопределять ту из стандартной библиотеки.
Как реализовать метод Enumerable#sum
тогда и только тогда, когда он не существует?