Use also when a block should observe a value and keep that value.

Also Side Value

AlsoSideValue.kt
fun main() {
    val number = 
    var note = "waiting"
    val before = note
    val doubled = (number * 2).also { value ->
        note = "saw:$value"
    }

    println("number=$number")
    println("before=$before")
    println("doubled=$doubled")
    println("note=$note")
}
fun main() {
    val number = 
    var note = "waiting"
    val before = note
    val doubled = (number * 2).also { value ->
        note = "saw:$value"
    }

    println("number=$number")
    println("before=$before")
    println("doubled=$doubled")
    println("note=$note")
}
fun main() {
    val number = 
    var note = "waiting"
    val before = note
    val doubled = (number * 2).also { value ->
        note = "saw:$value"
    }

    println("number=$number")
    println("before=$before")
    println("doubled=$doubled")
    println("note=$note")
}
also `also` passes the value as `it`, runs the block, and returns the original value.