Scala: Параллельное назначение кортежей
Можно ли назначить элементы набора параллельно в Scala. если нет другой техники для достижения чего-то подобного?
val players = List(
new Player("Django Reinhardt", 42),
new Player("Sol Hoopii", 57),
new Player("Marc Ribot", 64)
)
val winners, losers = players.partition(p => p.score > 50)
// winners = List(Player name:Sol Hoopii score: 57, Player name:Marc Ribot score: 64)
// losers = List(Player name:Django Reinhardt score: 42)
Ответы
Ответ 1
val winners, losers = players.partition(p => p.score > 50)
Назначает (List, List) кортеж двум переменным. Если вы хотите распаковать кортеж, вы должны использовать
val (winners, losers) = players.partition(p => p.score > 50)
Что именно вы хотите.: -)