Kotlin 如何创建接受参数并打印其名称的函数?

Kotlin 如何创建接受参数并打印其名称的函数?,kotlin,printing,Kotlin,Printing,多次调用println(“a$a”)会受到影响。我们是否可以创建一个新函数并只调用foo(a)?这不容易/直接实现(目前) 考虑到你的乐趣,你必须使用以下语法: fun-foo(a:任何){ println(“${::a.name}”:$a”)//未编译 } 不幸的是,根据最新的Kotlin Eclipse插件,该功能目前仅适用于属性和函数名,而不适用于局部变量(尚未),因为它向我展示了 阅读上述讨论,以便找到可能的替代方案和更多信息。@deHaar哦,对不起,这是我的错@deHaar我想创

多次调用
println(“a$a”)
会受到影响。我们是否可以创建一个新函数并只调用
foo(a)

这不容易/直接实现(目前)

考虑到你的
乐趣
,你必须使用以下语法:

fun-foo(a:任何){
println(“${::a.name}”:$a”)//未编译
}
不幸的是,根据最新的Kotlin Eclipse插件,该功能目前仅适用于属性和函数名,而不适用于局部变量(尚未),因为它向我展示了


阅读上述讨论,以便找到可能的替代方案和更多信息。

@deHaar哦,对不起,这是我的错@deHaar我想创建一个新函数
funfoo(a:Any)
,用于打印参数名称和值。像
foo(a)
会打印
a5
。这能回答你的问题吗?即使有可能,在这种情况下也无济于事;我假设对于调用
valx=3;foo(x)
询问者想要打印
x:3
,但是使用
::a.name
会打印
a:3
@AlexeyRomanov是的,你是对的。。。这不是一个不起作用的很好的例子。我不知道任何反思是否有效。。。
val a = 5
println("a $a") // instead of this, we can call foo(a)