Functions and Parameters
Local Functions
Define a helper function inside another function.
scope
A local function is visible only inside the function that defines it.
Local Functions
LocalFunctions.kt
Replay: real traced execution (multi-file project)
fun main() {
val bonus = 3
fun addBonus(points: Int): Int {
return points + bonus
}
val base = 10
val total = addBonus(base)
println("bonus=$bonus")
println("total=$total")
}
fun main() {
val bonus = 0
fun addBonus(points: Int): Int {
return points + bonus
}
val base = 10
val total = addBonus(base)
println("bonus=$bonus")
println("total=$total")
}
fun main() {
val bonus = 5
fun addBonus(points: Int): Int {
return points + bonus
}
val base = 10
val total = addBonus(base)
println("bonus=$bonus")
println("total=$total")
}
bonus ← 3, base ← 10
1fun main() {2 val bonus→ 3 = 3 //@bonus=0, 534 fun addBonus(points: Int): Int {5 return points + bonus6 }78 val base→ 10 = 109 val total = addBonus(base10)fun addBonus(points: Int): Int
4fun addBonus(points10: Int): Int {5 return points10 + bonus36}total ← 13
8 val base = 109 val total→ 13 = addBonus(base10)1011 println("bonus=$bonus3")12 println("total=$total13")13}outputbonus=3 total=13
bonus ← 0, base ← 10
1fun main() {2 val bonus→ 0 = 034 fun addBonus(points: Int): Int {5 return points + bonus6 }78 val base→ 10 = 109 val total = addBonus(base10)fun addBonus(points: Int): Int
4fun addBonus(points10: Int): Int {5 return points10 + bonus06}total ← 10
8 val base = 109 val total→ 10 = addBonus(base10)1011 println("bonus=$bonus0")12 println("total=$total10")13}outputbonus=0 total=10
bonus ← 5, base ← 10
1fun main() {2 val bonus→ 5 = 534 fun addBonus(points: Int): Int {5 return points + bonus6 }78 val base→ 10 = 109 val total = addBonus(base10)fun addBonus(points: Int): Int
4fun addBonus(points10: Int): Int {5 return points10 + bonus56}total ← 15
8 val base = 109 val total→ 15 = addBonus(base10)1011 println("bonus=$bonus5")12 println("total=$total15")13}outputbonus=5 total=15