Chapter 3. Functions
In the previous chapter, we covered the object-oriented aspects of Scala, such as classes, objects, pattern matching, self-types, case classes, and so on. We also implemented object-oriented concepts that we learned in our chatbot application.
In this chapter, we will cover functional programming with Scala and how object-oriented and functional approaches complete each other. We will also cover generic classes, which are often used with pattern matching. We will also cover how to create user-defined pattern matching and why is it useful.
By the end of this chapter, you will be able to:
- Identify the basics of functional programming
- Identify the basics of generic types in Scala
- Implement user-defined pattern matching
- Recognize and use functional compositional patterns