我有一个游戏板,它被建模为 Map[Location,Player]。对于某些计算,我想将其转换为 Map[Player,Set[Location]]。例如,如果我们简化并使用符号来表示键和值,我想将其转换为:
Map('a -> 'X, 'b -> 'O, 'c -> 'X, 'd -> 'O)
进入这个:
Map('O -> Set('b, 'd), 'X -> Set('a, 'c))
(我在写这个问题时想出了一个解决方案,贴在下面。希望对此发表评论。也许还有其他更好的方法?)