简体   繁体   English

如何在Kotlin中间接调用function

[英]How to call function indirectly in Kotlin

Assume I have a mutableMap:假设我有一个 mutableMap:

val MM = mutableMapOf()

Now I define a function as a method for it:现在我定义一个 function 作为它的方法:

MM["testF"] = fun () {
  println("WOW")
}

Now I want to call it in another place:现在我想在另一个地方调用它:

val MMTF = MM["testF"] as Function<*>
MMTF() <-- NOT WORKING

Any help will be appreciated.任何帮助将不胜感激。

This code will print bar此代码将打印 bar

fun main() {
    val map = mutableMapOf<String, () -> Any>()
    map["foo"] = {
        println("bar")
    }
    run(map["foo"]!!)
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM