Use apply to configure an object and then read scalar fields.

Apply Config

ApplyConfig.kt
class Badge {
    var title: String = ""
    var level: Int = 0
}

fun main() {
    val title = 
    val badge = Badge().apply {
        this.title = title
        level = title.length
    }
    val summary = "${badge.title}:${badge.level}"

    println("title=$title")
    println("summary=$summary")
}
class Badge {
    var title: String = ""
    var level: Int = 0
}

fun main() {
    val title = 
    val badge = Badge().apply {
        this.title = title
        level = title.length
    }
    val summary = "${badge.title}:${badge.level}"

    println("title=$title")
    println("summary=$summary")
}
class Badge {
    var title: String = ""
    var level: Int = 0
}

fun main() {
    val title = 
    val badge = Badge().apply {
        this.title = title
        level = title.length
    }
    val summary = "${badge.title}:${badge.level}"

    println("title=$title")
    println("summary=$summary")
}
apply `apply` uses the object as the block receiver and returns the same object.