kotlin 1.2.31
У меня есть следующая функция, в которой я пытаюсь вернуть строку из функции let
.
Однако следующее возвращает kotlin.unit
как текст
fun replaceSpace(quote: String, ch: Char): String {
return quote.toCharArray().let {
for (i in it.indices) {
if(it[i] == ' ') {
it[i] = ch
}
}
}.toString()
}
Я бы подумал, что toString()
вернет строку, но я получу kotlin.unit
Однако, когда я делаю следующее, это работает нормально.Поскольку String(it)
покрывает charArray в строку.Это последний оператор в блоке let
, который будет возвращен.Однако мне интересно, почему метод toString()
не работает
fun replaceSpace(quote: String, ch: Char): String {
return quote.toCharArray().let {
for (i in it.indices) {
if(it[i] == ' ') {
it[i] = ch
}
}
String(it)
}
}