Rubyの場合、ハッシュがある場合、文字列の配列からキーがあるかどうかを確認する最も速い方法は何ですか?だから私はこれを行うことができました
has_key = false
arr_of_strings.each do |str|
if my_hash.has_key?(str)
has_key = true
break
end
end
しかし、tahtは、このような単純な照会にはコード行が多すぎるように思われます。
strings = ['a', 'b', 'c']
hash = {:a => 'apple', :b => 'bob', :d => 'thing'}
has_key = hash.keys.map(&:to_s) & strings # ['a', 'b']
has_key.any? # true
似たようなワンライナー、 hash.keys.detect { |key| strings.include?(key.to_s) }.nil?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加