Ваша проблема не связана с also
.
Вы используете оператор приращения постфикса (count++
), который возвращает значение переменной до ее приращения, равное 1
.
Если вы используете оператор приращения префикса (++count
), он сначала назначит новое значение, а затем вернет его, в данном случае 2
. Обратите внимание, что в этом случае вам нужны паратезы:
(++count).also { print("count is $it") }
Вы упомянули, что also
предназначен для ведения журнала. Я не думаю, что это правда. Это просто функция видимости, которая предлагает получателя как it
(или как вы его называете) внутри labmda и возвращает получателя.