컬렉션의 컬렉션에서 .flatten을 에뮬레이션하는 코드를 보고합니다.

예:


  Seq(seq1, seq2).flatMap(identity)
  Seq(seq1, seq2).flatMap(x => identity(x))
  Seq(seq1, seq2).flatMap(x => x)

  val nestedOption = Option(Some(10))
  nestedOption.getOrElse(None)
  nestedOption.map(_.get)

빠른 수정 적용 후:


  Seq(seq1, seq2).flatten
  Seq(seq1, seq2).flatten
  Seq(seq1, seq2).flatten

  val nestedOption = Option(Some(10))
  nestedOption.flatten
  nestedOption.flatten