Массив ruby ​​содержит идентификатор - PullRequest
1 голос
/ 11 декабря 2010

В настоящее время я хочу перебрать массив объектов (2 свойства: идентификатор и имя) и проверить, содержит ли массив конкретный идентификатор

Как бы я это сделал?

Ответы [ 2 ]

6 голосов
/ 11 декабря 2010

Enumerable#detect в порядке, но я думаю, что Enumerable#any? (который возвращает логическое значение), это строго то, что вы просили:

xs = [{:id => 1, :name => 'a'}, {:id => 2, :name => 'b'}]
puts xs.any? {|x| x[:id] == 1} # true
puts xs.any? {|x| x[:id] == 5} # false
2 голосов
/ 11 декабря 2010

Попробуйте обнаружить

a = [{:id => 1, :name => 'a'}, {:id => 2, :name => 'b'}]
puts a.detect {|x| x[:id] == 1}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...