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 に答える