Сравнение массива структур и удаление дубликатов - PullRequest
0 голосов
/ 18 мая 2010

У меня есть два массива структур.

array_of_structs1
array_of_structs2

Класс struct выглядит следующим образом, для контекстной информации:

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

Я хочу удалить дублирующихся пользователей из array_of_structs1 .

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 18 мая 2010

Я не уверен, что понимаю. Если вы хотите удалить дублирующиеся структуры, которые имеют одного и того же пользователя в array_of_struct1, используйте:

array_of_structs1 = Hash[*array_of_structs1.map {|obj| [obj.user, obj]}.flatten].values

Если вы не хотите удалять записи из массива1, которые также находятся в массиве 2, используйте

array_of_structs1 = array_of_structs1 - array_of_struct2
...