It's time to conclude our chapter. In this chapter, we had a brief introduction to the important concept of functions in Scala. We started with the syntax for defining a function. It is important to know that we're allowed to nest functions and make our code look cleaner. We learned about how we can make function calls in a variety of ways, for example with a variable number of arguments, with a default parameter value, and with a named argument. Then we learned how to write function literals in Scala. Afterwards, we discussed a couple of evaluation strategies for functions in Scala, where we talked about call by name and call by value. Finally, we discussed another important concept of defining a partial function in Scala.
With this chapter, we have completed the first part of our journey. Learning all these concepts has certainly increased our ability to write and understand a mature piece of Scala code. In later parts, we will continue to do so. The second part is about Scala's...