Iterate Over a tuple

前端 未结 4 1943
囚心锁ツ
囚心锁ツ 2020-12-16 21:49

I need to implement a generic method that takes a tuple and returns a Map Example :

val tuple=((1,2),((\"A\",\"B\"),(\"C\",3)),4)

I have b

4条回答
  •  心在旅途
    2020-12-16 22:29

    What about? :

    def flatProduct(t: Product): Iterator[Any] = t.productIterator.flatMap {
      case p: Product => flatProduct(p)
      case x => Iterator(x)
    }
    val tuple = ((1,2),(("A","B"),("C",3)),4)
    flatProduct(tuple).mkString(",") // 1,2,A,B,C,3,4
    

    Ok, the Any-problem remains. At least that´s due to the return type of productIterator.

提交回复
热议问题