1

迭代数组、验证每个元素然后返回该数组在 Ruby 中是否有效的最佳方法是什么?就像是:

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

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

4

2 回答 2

4

使用,仅当块用于所有元素all?时才会返回。truetrue

def arr_valid?(arr)
  arr.all? do |element|
    # validate element with some requirments
  end
end
于 2012-06-24T23:26:19.790 回答
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
于 2012-06-25T00:28:04.753 回答