Ruby 1.8有一个方法nitems
用于数组。这似乎已经从Ruby 1.9中消失了。 1.9中是否有替代品?
答案 0 :(得分:7)
它已从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, 2, "a", nil, 'b', nil]
a.nitems
=> 3