Scala: перекрестное (декартово) произведение с несколькими источниками и разнородными типами
Я пытаюсь построить несколько перекрестных произведений различных типов (но каждый однородный). Желаемый тип возвращаемого значения - это обход кортежа с типом, совпадающим с типами во входных обходных путях. Например:
List(1, 2, 3) cross Seq("a", "b") cross Set(0.5, 7.3)
Это должно датьTraversable[(Int, String, Double)]
со всеми возможными комбинациями из трех источников. Случай объединения только двух источников былответил здесь, Данная идея:
implicit class Crossable[X](xs: Traversable[X]) {
def cross[A](ys: Traversable[A]) = for { x