【发布时间】:2020-07-20 02:29:08
【问题描述】:
我是 Ruby 新手,我很难找出这个错误。
当我这样做时:
ary = [0,1,1,2,3,5,8,13,21,34,55,89,144]
ary.inject {|mem, i| mem + i if mem.even? && i.even? }
这个错误出来了:
NoMethodError (undefined method `even?' for nil:NilClass)
我只想数对(偶)数。
【问题讨论】:
-
您只想添加偶数?
-
这也可以通过
array.select(&:even).reduce(:+)完成 -
@steenslag 我忽略了这一点。感谢您指出。