Scope Functions
Run Returns
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
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")
}
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
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
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