Вход:
val list = List(1, 2, 3, 4)
Требуемый вывод:
Iterator((1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4))
Этот код работает:
for (cur1 <- 0 until list.size; cur2 <- (cur1 + 1) until list.size)
yield (list(cur1), list(cur2))
но это не кажется оптимальным, есть ли лучший способ сделать это?