2017-02-13 112 views
0

我想在Kotlin中編寫一個匿名的lambda函數,但它看起來並沒有傳遞給它的參數。 (這是不是在所有通過,因爲IDE暗示 「變量 '名' 從未使用過」。)如何將參數傳遞給Kotlin中的匿名lambda函數?

代碼:

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

你沒有傳遞任何參數到函數。你正在定義一個函數,而不是調用它。 – marstran

+0

我知道,我表示它的描述。 –

+0

我讀過它了。那麼問題是什麼?你的預期產出是多少? – marstran

回答

5

你永遠不會調用帶參數的函數,應該是

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

順便說一句,你的具體例子已經在標準l書庫:

println(name.reversed()) 
+2

謝謝,那是我尋找! 「name.reversed()」是你用這個拖動我的嗎? :) –

+0

只是嘗試一下,適用於任何'CharSequence'我知道的 –

+0

。我用這段代碼的目的是瞭解lambdas,而不是反轉字符串。 –

相關問題