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

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

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

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

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

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

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

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

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

person lannyf    schedule 07.08.2017    source источник
comment
обновить указатель в цикле   -  person Tim    schedule 08.08.2017
comment
спасибо, Тим!, на самом деле я спрашивал, есть ли аналогичный способ присваивания и возврата результата для проверки в одну строку.   -  person lannyf    schedule 08.08.2017