Итоги — безопасное развертывание
Часть раздела Основы путешествия по Swift на Coddy — урок 15 из 86.
Задание
ЛегкоНапишите функцию formatPlayerInfo, которая принимает name, score и level игрока в виде строк и возвращает отформатированную сводку об игроке.
Используйте все три изученные техники извлечения опционалов для обработки потенциально отсутствующих значений:
- Используйте
guard let, чтобы проверить, является ли имя допустимым (непустым). Если имя пустое, немедленно верните"Unknown player". - Используйте
??(nil coalescing), чтобы установить значение счета по умолчанию"0", если счет пуст. - Используйте
if let, чтобы проверить, является ли уровень допустимым (непустым). Если значение есть, включите его в вывод; в противном случае опустите часть с уровнем.
Формат вывода:
- Если уровень указан:
"[name] - Score: [score], Level: [level]" - Если уровень пуст:
"[name] - Score: [score]"
Параметры:
name(String): Имя игрока (пустая строка представляет nil)score(String): Счет игрока (пустая строка представляет nil)level(String): Уровень игрока (пустая строка представляет nil)
Возвращает: Отформатированную строку с информацией об игроке или "Unknown player", если имя пустое.
Подсказка: Преобразуйте пустые строки в опционалы внутри вашей функции, проверяя, являются ли они пустыми, и присваивая nil, если это так.
Попробуйте сами
func formatPlayerInfo(name: String, score: String, level: String) -> String {
// Напишите код здесь
}
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: Простая математикаОператоры сравнения7Основы ввода-вывода
Функция PrintИнтерполяция строкВвод через ReadLineПреобразование типовПовторение — до 120Повторение — True или False10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияМетки аргументовПовторение: функция SigmaПовторение: функция валидацииЗначения по умолчанию13Итерирование по последовательностям
Итерирование по элементамМетод enumerateИтерирование по строкам, ч. 1Итерирование по строкам, ч. 22Переменные
Let против VarАннотации типовЧислаСтрокиBooleanСоглашения об именованииИтоги — Инициализация переменных5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение: простая логикаЛогические операторы. Часть 3Тернарный оператор8Калькулятор разделения счета
Приветственное сообщениеПолучение ввода14Массивы: Продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опционалы
Что такое опционалыРазвертывание с помощью if letGuard letОператор объединения с nilИтоги — безопасное развертывание6Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторОператор SwitchSwitch с диапазонами9Циклы
Цикл For-InЦикл WhileЦикл Repeat-WhileBreakContinueПовторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический ввод