val cross = (for (x<-setA; y<-setB) yield (x,y))
val cross2 = (setA flatMap (x => setB map ((x,_)))
Есть ли более элегантный способ сделать это с помощью перекрестного оператора продукта или некоторых таких? Например:
val cross3 = setA cross setB