Начиная с версии 1.1, Kotlin поддерживает связанные вызываемые ссылки. Связанные вызываемые ссылки позволяют использовать методы экземпляра как лямбда-выражения, что должно позволить нам сделать что-то вроде следующего (см. строку 5):
Синтаксис elements::add
обеспечивает простой способ передачи желаемого метода в subscribe
. К сожалению, начиная с Kotlin 1.1.3, этот код приводит к следующей ошибке:
Эта ошибка означает, что subscribe
ожидает тип Int -> Unit
, а elements:add
имеет тип Int -> Boolean
. Пока запланированное изменение в Kotlin 1.2 не позволит автоматически игнорировать тип возвращаемого значения метода в этом случае, мы должны создать полноценную лямбду, чтобы это работало:
Если мы сделаем это таким образом, каждый элемент в Flux
будет добавлен к elements
, как и ожидалось.