Что выведет код Junior Dart: типы и null-safety обновлено
Dart: collection if, for и spread
Вопрос
Что выведет программа? По строке на каждый вывод.
void main() {
const admin = false;
List<int>? extra;
final list = [
0,
if (admin) 100,
for (var i = 1; i <= 3; i++) i * i,
...?extra,
...[7, 8],
];
print(list);
print(list.length);
}
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: [0, 1, 4, 9, 7, 8], 6. if (admin) ложно, 100 не добавляется. for добавляет квадраты 1, 4, 9. ...?extra при null ничего не добавляет и не падает. ...[7, 8] раскрывает список.
Что выведет
[0, 1, 4, 9, 7, 8]
6
Разбор
if (admin) ложно, 100 не добавляется. for добавляет квадраты 1, 4, 9. ...?extra при null ничего не добавляет и не падает. ...[7, 8] раскрывает список.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.