Scope functions позволяют выполнять блок кода в контексте объекта. Основные функции: let
, run
, with
, apply
, also
. Каждая имеет свои особенности в отношении получателя (invoker, receiver) и возвращаемого значения.
Функция | Получатель | Возвращаемое значение |
---|---|---|
let | it | Результат последнего выражения в блоке |
run | this | Результат последнего выражения в блоке |
with | this (не в качестве метода расширения) | Результат последнего выражения в блоке |
apply | this | Сам объект настройки |
also | it | Сам объект настройки |
Использование:
let
: Для выполнения действий над объектом, допускающим значение null, или для введения локальной переменной с более коротким именем.kotlin
run
: Для выполнения блока кода с контекстом объекта (как with
), но в качестве метода расширения, или когда требуется вычислить значение в контексте объекта.kotlin
Scope functions позволяют выполнять блок кода в контексте объекта. Основные функции: let
, run
, with
, apply
, also
. Каждая имеет свои особенности в отношении получателя (invoker, receiver) и возвращаемого значения.
Функция | Получатель | Возвращаемое значение |
---|---|---|
let | it | Результат последнего выражения в блоке |
run | this | Результат последнего выражения в блоке |
with | this (не в качестве метода расширения) | Результат последнего выражения в блоке |
apply | this | Сам объект настройки |
also | it | Сам объект настройки |
Использование:
let
: Для выполнения действий над объектом, допускающим значение null, или для введения локальной переменной с более коротким именем.kotlin
run
: Для выполнения блока кода с контекстом объекта (как with
), но в качестве метода расширения, или когда требуется вычислить значение в контексте объекта.kotlin
Register or sign in to get access to full answers for all questions from the question bank.