迭代一个数组并验证Ruby中的元素

时间:2012-06-24 23:20:24

标签: ruby arrays

迭代数组,验证每个元素然后返回这个数组在Ruby中有效的最佳方法是什么?类似的东西:

def arr_valid?(arr)
  result = true
  arr.each do |element|
    result = false if
       # validate element with some requirments
    end
  end
  result
end

我认为上面的方法有很多代码。

2 个答案:

答案 0 :(得分:4)

使用all?,只有当所有元素的广告资源为true时才会返回true

def arr_valid?(arr)
  arr.all? do |element|
    # validate element with some requirments
  end
end

答案 1 :(得分:0)

def arr_valid?(arr)
  # there can't be Fixnums
  !arr.map {|v| v.is_a? Fixnum}.reduce {|a,b| a||b}
end

puts arr_valid? [1, 2, 3, 4] # >> false

puts arr_valid? ['1', '2', '3'] # >> true