У меня есть массив следующим образом:Получить количество элементов, имеющих значение в Рубине
search_results = [{policy: {isActive: true}}]
И я хочу, чтобы получить отсчет search_result
с, где isActive
правда. В этом случае массив содержит только 1 элемент, policy
isActive
объект true
.
Я попытался с:
search_results.group_by { |x| x.policy.isActive }.count
Однако я всегда получаю 1
обратно. Независимо от того, является ли значение isActive
истинным или ложным.
_ "Я всегда получаю 1 обратно" _ - Это необычно, он должен поднять 'NoMethodError', потому что' Hash' не отвечает на 'policy'. – Stefan
@Stefan 'search_results.count {| sr | sr.policy.isActive} 'работал для меня. Я использую RubyMine, а также новичок в Ruby, поэтому я понял, как результаты поиска в Evaluate Expression будут выглядеть как код для показа здесь. Если это не хэш, и этот синтаксис работал ... что это? – Cameron
'search_results.first.class' должен показать свой фактический класс. – Stefan