.let { }
- функция определения объема. Функции Scoping позволяют нам писать краткий код. Давайте рассмотрим этот маленький код:
INSTANCE
: представляет экземпляр вашей базы данных Room.
?
: говорит: «если значение не ноль »
scope
представляет область действия, в которой работает сопрограмма.
INSTANCE?.let { it -> }
: говорит об этом (посмотрите на вопросительный знак выше), если INSTANCE
равно , не равно нулю , создайте область, которая предоставляет копию ненулевого INSTANCE
. it
это просто имя по умолчанию, вы можете присвоить ему любое имя, например переменную.
Итак:
INSTANCE?.let { database -> //database (or 'it') is not null
scope.launch {
populateDatabase(database.wordDao()) //Now pre-populate the database.
}
}