Introduction
This article is part of the Scala knowledge bits Series.
Periodically, I will publish new exercises so you can slowly build up knowledge about Scala.
It is designed to be done in a very short amount of time and learn a little bit each day, just to create a routine.
This episode will teach you about Scala Option map
.
Hope you are going to enjoy it! It is designed for anyone to learn Scala from scratch and slowly learn, one Bit at a time.
After this Bit, I would love to hear your feedback in the comments down below.
Feel free to join the Discord server as well if you would like some help and support from the rest of our community.
What are we learning today?
Today we are going to learn about Scala Option map
!
If you followed along, you might remember map
from the List
. In Scala, and in functional programming, you are going to hear about map
a whole bunch.
map
comes from the functional programming world, and from category theory in mathematics. We are going to dive deeper into those two concepts in the future but for now let’s focus only on the map
method.
Just to throw it out there, but don’t get hang on it too much, map
is part of what is called a functor
.
Can you feel that the “m” word is going to show up soon ? Should we pop the bubble now ?
Let’s rip off the bandage, right now. MONAD !
That’s it, we said it. There is no turning back now. Good luck !
Time to try on the exercise on your own and scroll down for more information when you are done or if you are stuck.
Exercise
Here is an exercise to complete today.
If I did my job well, you should be able to guess by yourself the solution based on what you previously learned and based on the clues.
But if you get stuck, scroll down to get more information.
The goal of the exercise is to replace the ???
by a piece of code so that the exercise compiles and that’s how you win! Good luck!
You can fill the exercise right in here:
Or, if it does not load, go on to Scastie (Zn7rGMlnSVWfCH3hCnKEhA).
More information about Scala Option map
In this exercise you will learn (or have learned, if you have already solved the puzzle) about Scala Option map
.
Have you recovered from the m-encounter ? Using the map
wasn’t too bad, was it? And you used it before with the List
.
There are few things to try to modify in this exercise. Go ahead and try those:
- What happen when
input
is set toNone
? - What happen if you replace
getOrElse
byget
? withSome
and withNone
. -
You might have written something like
.map(a => a + 1)
in your solution, try replacinga => a
by_
. This is some teasing for some upcoming SKB.
Feel free to go back to the exercise, modify the code to try out new things
and get a better intuition for Scala Option map
.
Conclusion
I hope you have learned something new or had fun during this Scala Knowledge Bit.
Please ask questions or post feedback in the comments below.
Feel free to try on the next Scala Knowledege Bit.
If you are curious about the previous Scala knowledge Bits, go check it out! 🙂