Introduction:
When a function is not able to produce a return for every single variable input data given to it then that function is termed as
Partial function. It can determine an output for a subset of some practicable inputs only. It can only be applied partially to the stated inputs.
Some important points:
- Partial functions are beneficent in understanding many inconsistent kind of Scala functions.
- It can be interpreted by utilizing case statements.
- It is a Trait, which needs two methods namely isDefinedAt and apply to be implemented.
Example:
Here, two methods are defined for applying Partial function, where
isDefinedAt states the condition and
apply performs the operation if the given condition is satisfied.
Methods to define Partial functions:
There are some methods to define Partial function, which includes
case statements,
collect method,
andThen, and
orElse.
- Partial function using Case statement:
we will create a Partial function below using case statement.
Example:
Here, Partial function is created using case statement so, apply and isDefinedAt is not required here.
- Partial function using orElse:
This method is helpful in chaining Partial functions together.
Example:
Here, orElse will return output for which the given condition is satisfied.
- Partial function using Collect method:
Collect method requests Partial function to every single element of the collection and thus, helps in constructing a new collection.
Example:
Here, Collect will apply Partial function to all the elements of the List and will return a new List on the basis of the conditions stated.
- Partial function using andThen:
This method appends at the end of the chains, which is utilized to continue towards additional chains of Partial functions.
Example:
Here, andThen will append the output of Partial function with the another function given and then will return that value.