Какой символ будет выведен в примере №24

Никакой символ не выводится: enum FinancialInstitution нельзя напрямую сравнить со строкой. Нужно сравнить rawValue или создать enum из строки.

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

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

Никакой символ не выводится: enum FinancialInstitution нельзя напрямую сравнить со строкой. Нужно сравнить rawValue или создать enum из строки.

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

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

Условие

Определите, какой символ появится в консоли после выполнения следующего Swift‑кода.

enum FinancialInstitution: String {
    case sberbank = "sber"
}

if FinancialInstitution.sberbank == "sber" {
    print("💚")
}

Ответ

Никакой символ не выводится: enum FinancialInstitution нельзя напрямую сравнить со строкой. Нужно сравнить rawValue или создать enum из строки.

Исправление для проверки строкового кода:

if FinancialInstitution.sberbank.rawValue == "sber" {
    print("💚")
}

Другой вариант: FinancialInstitution(rawValue: "sber") == .sberbank. Строковый raw type предоставляет преобразование, но не делает enum взаимозаменяемым со String во всех операциях. Конструктор из неизвестного rawValue возвращает nil. В исходной программе ошибка типов возникает до выполнения условия.

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

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

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

Подробнее