Skip to content

Instantly share code, notes, and snippets.

@akr4
Created December 20, 2011 22:39
Show Gist options
  • Save akr4/1503641 to your computer and use it in GitHub Desktop.
Save akr4/1503641 to your computer and use it in GitHub Desktop.
ネストしたコレクション Stream[Iterator[_]] を 1 つの iterator で lazy に走査する
scala> val a = (1 to 100).grouped(10).map(_.iterator)
a: Iterator[Iterator[Int]] = non-empty iterator
scala> val b = Stream.continually{ print("#"); a.next }.take(10)
#b: scala.collection.immutable.Stream[Iterator[Int]] = Stream(non-empty iterator, ?)
scala> val c = b.iterator.flatten
c: Iterator[Int] = non-empty iterator
scala> c.foreach(print)
12345678910#11121314151617181920#21222324252627282930#31323334353637383940#41424344454647484950#51525354555657585960#61626364656667686970#71727374757677787980#81828384858687888990#919293949596979899100
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment