Предположим, у меня есть 1d массив или список в следующем виде:
val a = Array(1, 5, 7, 9)
Я хочу получить результат (2d массив или список кортежей), где
Array[(1,5), (1,7), (1,9), (5,7), (5,9), (7,9)]
Как можноЯ делаю это в Скала?
Вот что я попробовал:
val c = for (a_ <- a; b_ <- a) yield (a_, b_)
Проблема c теперь имеет:
Array((1,1), (1,5), (1,7), (1,9), (5,1), (5,5), (5,7), (5,9), (7,1), (7,5), (7,7), (7,9), (9,1), (9,5), (9,7), (9,9))
, что является неправильным результатом, потому что это не декартово произведение!