Use run to calculate a value from a short local block.

run `run` groups a calculation and returns the last expression in the block.

Run Returns

width
RunReturns.kt
Replay: real traced execution (multi-file project)
fun main() {
    val width = 3
    val area = run {
        val height = width + 1
        width * height
    }

    println("width=$width")
    println("area=$area")
}
fun main() {
    val width = 1
    val area = run {
        val height = width + 1
        width * height
    }

    println("width=$width")
    println("area=$area")
}
fun main() {
    val width = 5
    val area = run {
        val height = width + 1
        width * height
    }

    println("width=$width")
    println("area=$area")
}
  1. width ← 3, area ← 12

    1fun main() {2    val width→ 3 = 3 //@width=1, 53    val area→ 12 = run {4        val height = width + 15        width * height6    }78    println("width=$width3")9    println("area=$area12")10}
    outputwidth=3
    area=12
  1. width ← 1, area ← 2

    1fun main() {2    val width→ 1 = 13    val area→ 2 = run {4        val height = width + 15        width * height6    }78    println("width=$width1")9    println("area=$area2")10}
    outputwidth=1
    area=2
  1. width ← 5, area ← 30

    1fun main() {2    val width→ 5 = 53    val area→ 30 = run {4        val height = width + 15        width * height6    }78    println("width=$width5")9    println("area=$area30")10}
    outputwidth=5
    area=30