Как мне найти совпадения в двух массивах в IRB? - PullRequest
4 голосов
/ 12 ноября 2010

По какой-то причине я не могу понять это. Но в основном я хочу сравнить с моделями и посмотреть, есть ли у них соответствующие письма. Вот моя попытка, но по какой-то причине она вообще не работает.

>> CardReferral.all.select{|cf|cf.email == CardSignup.all.collect{|cs|cs.email}}

Где я могу как-то вернуть объект ..

1 Ответ

16 голосов
/ 12 ноября 2010
CardReferral.all.map(&:email) & CardSignup.all.map(&:email)

из rdoc

array & other_array Set Intersection - возвращает новый массив, содержащий элементы, общие для двух массивов, без дубликатов.

[ 1, 1, 3, 5 ] & [ 1, 2, 3 ]   #=> [ 1, 3 ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...