Ответ 1
array_of_hashes.any? {|h| h[:a] == 11}
У меня есть следующее:
array_of_hashes = [{:a=>10, :b=>20}, {:a=>11, :b=>21}, {:a=>13, :b=>23}]
Как мне найти, если :a=>11
существует в array_of_hashes
array_of_hashes.include?
, похоже, не работает
array_of_hashes.any? {|h| h[:a] == 11}
Вы запросили логический результат в OQ, но если вы действительно хотите, чтобы сам хэш-элемент выполнял:
array_of_hashes.detect { |h| h[:a] == 11 }
Если вы хотите, чтобы результат был очень быстрым, вы могли сгруппировать исходный объект, а затем получить результат с помощью одного поиска хэша:
t = array_of_hashes.group_by { |x| x[:a] }
t[11]