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)
11
задан BefittingTheorem 5 February 2010 в 13:25
поделиться

1 ответ

val winners, losers = players.partition(p => p.score > 50)

Назначает кортеж (Список, Список) двум переменным. Если вы хотите распаковать кортеж, вы должны использовать

val (winners, losers) = players.partition(p => p.score > 50)

, который делает именно то, что вы хотите. : -)

20
ответ дан 3 December 2019 в 05:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: