An other data structure today ! After seeing List
, Set
. Let's talk about Stream
, now called LazyList
in Scala 2.13+.
This is a bit of a longer exercise because there are several ways to create a LazyList
and several ways to use it. Remember, this is your journey. If you only have the time to complete the beginning, you can move on or come back to it later.
In the first section, you saw how to create a LazyList
recursively using the symbol #::
. You also learned that you can take
as many elements as you want, but since Scala values immutability, doing it several times in a row will always returns the same elements. Make sure to read the log statements carefully.
In the second section, we are using LazyList.from
to use the build-in tools that allow you to start a sequential stream
starting at n
and increasing one by one. You also see that map
can be used to modify the outcome of the LazyList
. And finally, take
can only reduce the size of the stream.
In the third and final section, we are implementing factorial
, once recursively and then using a LazyList
. Have you notice the use of the foldLeft
from previous SKB !?