如果数组的某些元素为零,则返回true

时间:2014-12-20 04:33:28

标签: ruby arrays null

我正在使用excel电子表格(使用电子表格gem),对于某些行,某些列中会缺少数据。

如果第3行到第一行(包括)的所有列都没有值,我想返回true。

这是我的方法:

def self.cells_empty(row)
   if row[3..-1] == nil
      return true
   else
      return false
   end
end

该方法始终返回false,但即使对于特定行第3列,所有列(包括最后一列)都为空。当我的意思是空的时,我的意思是空/零(没有任何东西写入这些列),甚至不是空字符串''。

2 个答案:

答案 0 :(得分:4)

我会做这样的事情:

row[2..-1].all?(&:nil?)

答案 1 :(得分:0)

对于任何数组arrarr[i..j]的所有值均为nil,如果符合:{/ p>

arr[i..j].compact.empty?