Using the scope functions
Kotlin has the concept of scoping functions, which are available on any object and can replace the need to write repetitive code. Among other benefits, these scoping functions help us simplify single-expression functions. They are considered higher-order functions since each scoping function receives a lambda expression as an argument. In this section, we'll discuss all the necessary functions and execute their code blocks using objects as their scope. In this section, we'll use the terms scope and context object interchangeably to describe the objects that those functions operate on.
Let function
We can use the let()
function to invoke a function on a nullable object, but only if the object is not null.
Let's take, as an example, the following map of quotes (we discussed this in Chapter 1, Getting Started with Kotlin):
val clintEastwoodQuotes = mapOf( "The Good, The Bad, The Ugly" to "Every...