Есть несколько коллекций - скажем, каждая коллекция - это набор языков программирования, которые знает разработчик.
{"Alice" => Set["Java", "Python", "C++"], "Bob" => Set["Ruby"], "Charlie" => Set["Ruby", "C++"]}
.
Я хочу сгруппировать эти объекты по коллекциям, к которым они принадлежат.в этом случае получают сопоставление наборов разработчиков, делящихся знаниями определенных языков, с наборами таких языков.Каждый язык, присутствующий во входных данных, будет встречаться здесь ровно один раз:
{Set["Alice"] => Set["Java", "Python"], Set["Alice", "Charlie"] => Set["C++"], Set["Bob", "Charlie"] => Set["Ruby"]}
Тип этой операции будет Hash[A, Set[B]] => Hash[Set[A], Set[B]]
.(на практике вместо наборов, скорее всего, использовались бы простые массивы, я здесь использую наборы, чтобы сказать, что порядок не имеет значения и нет дубликатов)
Я не спрашиваю, как кодировать эту операцию(конечно, если вы знаете особенно элегантный способ, не стесняйтесь поделиться) - мне интересно, есть ли у него имя.Это кажется достаточно распространенным, но я не могу думать ни о чем.