Сравнение массива пользователей с массивом структур с пользовательским объектом в качестве атрибута и возвращение совпадений в другом массиве структур - PullRequest
0 голосов
/ 17 мая 2010

У меня есть массив пользователей, которые являются друзьями. Давайте назовем этот массив:

friends

У меня есть массив структур. Каждая структура имеет пользовательский объект в качестве атрибута (он также имеет атрибут ранга). Вот как выглядит класс struct для добавления некоторого контекста:

class Leader < Struct.new(:rank, :user); end

Давайте назовем этот массив структур:

all_leaders_plus_rank

Я хочу сравнить друзей и all_leaders_plus_rank и добавить совпадение из all_leaders_plus_rank в новый массив структур под названием friendly_leaders .

1 Ответ

0 голосов
/ 17 мая 2010
friendly_leaders = all_leaders_plus_rank.select do |lpr|
  friends.include?(lpr.user)
end
...