私は、レールのArray.someに相当することをしたいと思います。ruby/railsのArray.someと等価です
ここでは、より複雑なinclude?
(私は*args
にこれを適用する)の一種である私のユースケースに適用した例だ:私はary.map
でこれを行うことができ
ary = [:a, :b, :c, d: :x, e: :y] # => [:a, :b, :c, { :d => :x, :e => :y }]
search = :e
contained = ary.some { |x|
x == search || x.try(:key?, search)
} # => true
assert contained, "We should have found #{search}"
それが全体を経る意味します配列を作成し、再度内容をテストします。 また、ary.drop_while
を使用して空の配列を返すかどうかを確認することもできますが、再度結果をテストする必要があります。 私はary.bsearch
も見たことがありますが、要素の順序についてはあまり理解できない奇妙な制限があります。
私は何かを見逃しましたか?簡単な方法はありませんか?私はruby2とレール4(エッジ)を使用しています。
出力はどのようにする必要がありますか? – Linuxios
出力をコメントとしてコードに追加しました。 'ary.some'はユースケースで真実を示すべきである – Crystark