Обзор проекта
Часть раздела Логика и управление потоком путешествия по Swift на Coddy — урок 49 из 56.
Второй проект — это движок для викторин. Состояние — это список вопросов, каждый из которых представляет собой кортеж (category, text, answer):
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]В течение следующих четырех уроков вы будете добавлять функции по одной:
- Добавление вопросов и их последовательное предъявление
- Оценка ответов (без учета регистра, с обрезкой пробелов)
- Фильтрация по категориям
- Подведение итогов прохождения с разбивкой по категориям
Как и в случае с Трекером привычек, каждый урок является самостоятельным, вы будете заново создавать банк вопросов в начале каждого файла.
Задание
НовичокДля начала напишите код настройки данных:
- Инициализируйте пустой массив вопросов (
[(String, String, String)]) - Выведите на экран количество элементов (count)
- Выведите на экран, является ли массив пустым (isEmpty)
Ожидаемый результат:
0
trueШпаргалка
Движок викторины хранит вопросы в виде списка кортежей с (category, text, answer):
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]Полезные свойства массивов:
questions.count // количество элементов
questions.isEmpty // true, если элементов нетПопробуйте сами
// TODO: объявите пустой [(String, String, String)] с именем questions,
// затем выведите count и isEmpty
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Строки в деталях
Подсчет и индексыРегистр и удаление пробеловПоиск в строкахРазделение и объединениеЗамена подстрокИтоги — Проверка имени пользователя4Множества
Создание множествОбъединение и пересечениеРазность и симметрическая разностьПодмножество и надмножествоИтоги — Фильтр тегов7Проект — Трекер привычек
Обзор проектаОтметить выполнение10Проект — Движок викторины
Обзор проектаЗадаем вопросы2Диапазоны и шаги
Закрытые и полуоткрытыеШагМетоды диапазоновДиапазоны в SwitchИтоги: Сетка календаря