如何在Kotlin中将参数传递给匿名lambda函数?

时间:2017-02-13 12:08:22

标签: lambda parameter-passing kotlin anonymous-function

我想在Kotlin中写一个匿名的lambda函数,但看起来它并没有把传递给它的参数。 (它根本没有通过,因为IDE暗示" 变量'名称'永远不会被使用"。)

代码:

var name = "Tobias Boon"
println("reverse=" + fun(name: String): String {
    var t: String = ""
    for(i in name.indices.last downTo 1) {
        t += text.subSequence(i - 1, i)
    }
    return t
})

目前打印:reverse=(kotlin.String) -> kotlin.String

1 个答案:

答案 0 :(得分:5)

你永远不会用参数调用函数,它应该是

val name = "Tobias Boon"
println("reverse=" + fun(name: String) : String {
   ...
      return t
}(name))

顺便说一句,您的特定示例已在标准库中实现:

println(name.reversed())