Partial Functions in Practice
Now that we have learned a lot about functions and pattern matching, let's apply our theoretical knowledge to practical programming.
Let's get our chatbot, which we developed during the previous chapter, and change the modes to partial functions instead of classes.
Note
Open /Lesson 3/5-project
in the supplement materials and import the project into the IDE.
Representing ChatbotMode as a Partial Function
Let's navigate to
the
scala
file
package in
com.packt.courseware.l4
:
package com.packt.courseware.l4 package object modes { type ChatbotMode = PartialFunction[(String,EffectsProvider),Processed] … }
Here, we see the
package
object, which was not mentioned previously in our chapters.
The package
object is an object which is associated with a package. When you import a package with a wildcard, then you import the current scope content of the package object if one exists.
So, the
package
object is a good way to store some utility...