我有一个像这样的数组:
[row1, row2, row3]
我需要找到这些行中有多少不是空的(里面有一些对象)。我知道我可以做row1.any吗?但是我怎么能找到数组中有多少?
答案 0 :(得分:5)
使用Array#count
的块形式:
[row1, row2, row3].count &:any?
答案 1 :(得分:3)
答案 2 :(得分:0)
与往常一样,请记住,如果数组中填充了.any?
或false
,则nil
不会给您带来任何打击。
[[false], [nil], [true], []].count &:any? #=> 1 only one non-empty (true)
或许做得更好:
[[false], [nil], [true], []].reject(&:empty?).count #=> 3 non-empty (true, nil, false)