Jakub Pi
05/11/2020, 2:45 PMJakub Pi
05/11/2020, 2:45 PMfun <A> Stream<A>.take(n: Int): Stream<A> =
unfold(Pair(this, n)) { (s, n) ->
if (s is Cons && n > 0) Some(Pair(s.h(), Pair(s.t(), n-1)))
else None
}
Jakub Pi
05/11/2020, 2:46 PMfun <A> Stream<A>.take(n: Int): Stream<A> =
unfold(this) { s ->
if (s is Cons && n > 0) Some(Pair(s.h(), s.t().take(n-1)))
else None
}
Jakub Pi
05/11/2020, 2:47 PM