как выполнить проверку логического результата после назначения в котлин?

89
5

Обновление: спасибо, чтобы указать anwser в вопросе elariler, для полного ответа на этот вопрос здесь, ответ:

while ((reader.read(buffer).let {pointer = it; it != -1}) ) {
writer.write(buffer, 0, pointer)
}

Пробовал читать что-то из буфера в цикле while, в Java выполняется с одной строкой:

while ((pointer = reader.read(buffer)) != -1)

но в kotling возникает ошибка: Ошибка: (46, 21) Присвоения не являются выражениями, и в этом контексте допускаются только выражения

как к тому же с котлин?

val reader = BufferedReader(InputStreamReader(inputStream, "UTF-8"))
var pointer: Int

while ((pointer = reader.read(buffer)) != -1) {
writer.write(buffer, 0, pointer)
}

спросил(а) 2017-08-08T00:15:00+03:00 3 года, 1 месяц назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема