我是
Ruby的新手,我在使用inject方法时遇到了一个奇怪的问题.
当我做:
(1..10).inject(0) {|count,x| count + 1}
结果是10,正如预期的那样.但是,当我这样做
(1..10).inject(0) {|count,x| count + 1 if (x%2 == 0)}
我收到一个错误:
NoMethodError: undefined method `+' for nil:NilClass from (irb):43 from (irb):43:in `inject' from (irb):43:in `each' from (irb):43:in `inject' from (irb):43
我真的不明白为什么(大概)计数在第二个例子中是零,但不是第一个.在任何情况下,我如何使用注入计算从1到10的均衡?