В Python я могу создать словарь ключевых слов функций и вызывать их ключи без запуска других функций в словаре. Есть ли эквивалент Котлина?
Я создал mutableMapOf (от 1 до a (), от 2 до b ()), который частично работает, но обе функции запускаются каждый раз, даже если их ключ не вызывается. В Python я могу сказать:
def a(): print("Hi")
def b(): print("Bye")
function_dictionary = {1: a, 2: b}
function_dictionary[1]() //runs a()
В то время как в Kotlin я могу думать только о:
fun a(){println("Hi")}
fun b(){println("Bye")}
val functionMap = mutableMapOf<Int, Unit>(1 to a(), 2 to b()) //a() and b() both run
functionMap[1] //runs a() again
В примере Kotlin функции выполняются независимо от того, отображается карта или нетключ, которому они назначены, выбран. Могу ли я сделать карту, которая работает так же, как словарь в Python?