在Ruby 1.9中替换Array#nitems?

Ruby 1.8有一个数组的方法nitems.这似乎已经从Ruby 1.9中消失了.在1.9中是否有替代品?

解决方法

它已从Ruby 1.9中删除

你可以用它代替:

array = [nil,2,"a",nil,'b',nil]
array.count{|x| !x.nil?}
 => 3

或者你可以自己重新定义它,如果你的Ruby版本不再拥有它:

if ! Array.method_defined?(:nitems)
  class Array
    def nitems
      count{|x| !x.nil?}
    end
  end
end


a = [nil,nil]
a.nitems
 => 3

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...