Ошибка метода при использовании .sum для массива - PullRequest
3 голосов
/ 15 октября 2019

Я нашел другие способы, но согласно документации ruby, это должно работать?

p [1,2,3,4].sum
#=> 10

Вместо этого я получаю ..

undefined method `sum' for [1, 2, 3, 4]:Array (NoMethodError)

Ответы [ 2 ]

5 голосов
/ 15 октября 2019

Проверьте, какую версию ruby ​​вы используете с ruby -v

Если у вас версия старше 2.4, вы можете использовать вместо этого команду inject.

[1, 2, 3, 4].inject(0,:+)

Выше приведеносокращение для

   [1, 2, 3, 4].inject(0) {|sum, value| sum + value}

Ноль 0 необходим для обработки пустых массивов, которые в противном случае вернули бы nil

0 голосов
/ 15 октября 2019

Спасибо, у меня была проблема с версией 2.3.7, а не 2.4.

...