Какой вывод получим? – вариант 28

Код ничего не печатает: он только вычисляет namesList и totalDistance. Список содержит восемь названий, сумма расстояний приблизительно равна 67.709.

Короткий ответ

Что ответить на собеседовании

Код ничего не печатает: он только вычисляет namesList и totalDistance. Список содержит восемь названий, сумма расстояний приблизительно равна 67.709.

Подробный разбор

Ответ с пояснениями

Условие

В этом примере мы создаём структуру CelestialBody, содержащую название и расстояние от Солнца, формируем массив объектов и затем применяем к нему два стандартных алгоритма коллекций: map для получения списка названий и reduce для подсчёта общей суммы расстояний.

struct CelestialBody {
    let designation: String
    let orbitalRadius: Double
}

let bodies = [
    CelestialBody(designation: "Mercury", orbitalRadius: 0.387),
    CelestialBody(designation: "Venus", orbitalRadius: 0.722),
    CelestialBody(designation: "Earth", orbitalRadius: 1.0),
    CelestialBody(designation: "Mars", orbitalRadius: 1.52),
    CelestialBody(designation: "Jupiter", orbitalRadius: 5.20),
    CelestialBody(designation: "Saturn", orbitalRadius: 9.58),
    CelestialBody(designation: "Uranus", orbitalRadius: 19.2),
    CelestialBody(designation: "Neptune", orbitalRadius: 30.1)
]

let namesList = bodies.map { $0.designation }
let totalDistance = bodies.reduce(0) { $0 + $1.orbitalRadius }

Ответ

Код ничего не печатает: он только вычисляет namesList и totalDistance. Список содержит восемь названий, сумма расстояний приблизительно равна 67.709.

map сохраняет порядок исходного массива: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune. reduce складывает orbitalRadius, начиная с нуля. Для десятичных исходных значений математическая сумма равна 67.709, но Double хранит двоичное приближение, поэтому точный текст вывода зависит от форматирования. Чтобы увидеть значения, нужно добавить print; в приведённом фрагменте таких вызовов нет.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее