Functions and Parameters
Multiple Calls
Call the same helper with different values.
calls
A function can be called more than once with different arguments.
Multiple Calls
MultipleCalls.kt
Replay: real traced execution (multi-file project)
fun addFee(amount: Int): Int {
return amount + 2
}
fun main() {
val first = 4
val small = addFee(first)
val large = addFee(10)
val difference = large - small
println("small=$small")
println("difference=$difference")
}
fun addFee(amount: Int): Int {
return amount + 2
}
fun main() {
val first = 1
val small = addFee(first)
val large = addFee(10)
val difference = large - small
println("small=$small")
println("difference=$difference")
}
fun addFee(amount: Int): Int {
return amount + 2
}
fun main() {
val first = 7
val small = addFee(first)
val large = addFee(10)
val difference = large - small
println("small=$small")
println("difference=$difference")
}
first ← 4
5fun main() {6 val first→ 4 = 4 //@first=1, 77 val small = addFee(first4)8 val large = addFee(10)fun addFee(amount: Int): Int
pass 1 of 21fun addFee(amount4: Int): Int {2 return amount4 + 23}small ← 6
6val first = 4 //@first=1, 77val small→ 6 = addFee(first4)8val large = addFee(10)9val difference = large - smallfun addFee(amount: Int): Int
pass 2 of 21fun addFee(amount10: Int): Int {2 return amount10 + 23}large ← 12, difference ← 6
7 val small = addFee(first)8 val large→ 12 = addFee(10)9 val difference→ 6 = large12 - small61011 println("small=$small6")12 println("difference=$difference6")13}outputsmall=6 difference=6
first ← 1
5fun main() {6 val first→ 1 = 17 val small = addFee(first1)8 val large = addFee(10)fun addFee(amount: Int): Int
pass 1 of 21fun addFee(amount1: Int): Int {2 return amount1 + 23}small ← 3
6val first = 17val small→ 3 = addFee(first1)8val large = addFee(10)9val difference = large - smallfun addFee(amount: Int): Int
pass 2 of 21fun addFee(amount10: Int): Int {2 return amount10 + 23}large ← 12, difference ← 9
7 val small = addFee(first)8 val large→ 12 = addFee(10)9 val difference→ 9 = large12 - small31011 println("small=$small3")12 println("difference=$difference9")13}outputsmall=3 difference=9
first ← 7
5fun main() {6 val first→ 7 = 77 val small = addFee(first7)8 val large = addFee(10)fun addFee(amount: Int): Int
pass 1 of 21fun addFee(amount7: Int): Int {2 return amount7 + 23}small ← 9
6val first = 77val small→ 9 = addFee(first7)8val large = addFee(10)9val difference = large - smallfun addFee(amount: Int): Int
pass 2 of 21fun addFee(amount10: Int): Int {2 return amount10 + 23}large ← 12, difference ← 3
7 val small = addFee(first)8 val large→ 12 = addFee(10)9 val difference→ 3 = large12 - small91011 println("small=$small9")12 println("difference=$difference3")13}outputsmall=9 difference=3