Логические операторы. Часть 3
Часть раздела Основы путешествия по Swift на Coddy — урок 24 из 86.
Оператор ИЛИ (||) объединяет два условия и возвращает true, когда хотя бы одно условие истинно. Он возвращает false только тогда, когда оба условия ложны.
let hasCard = false
let hasCash = true
let canPay = hasCard || hasCash // true
print(canPay)В этом примере, даже если у человека нет карты, он все равно может заплатить, потому что у него есть наличные. Оператор OR идеально подходит, когда у вас есть несколько приемлемых вариантов.
let isWeekend = false
let isHoliday = false
let dayOff = isWeekend || isHoliday // falseЗдесь, так как ни одно из условий не является истинным, dayOff имеет значение false.
Вы также можете комбинировать OR со сравнениями:
let age = 15
let hasPermission = true
let canWatch = age >= 18 || hasPermission // trueОператор OR полезен, когда истинности любого из нескольких условий достаточно для продолжения — например, при проверке соответствия пользователя различным критериям или наличии какого-либо условия ошибки.
Задание
ЛегкоНапишите функцию canAccessContent, которая принимает isPremiumMember, hasFreeTrial и hasPromoCode и возвращает информацию о том, может ли пользователь получить доступ к премиум-контенту.
Пользователь может получить доступ к контенту, если у него есть хотя бы одно из следующего: премиум-подписка, активный пробный период или действующий промокод.
Параметры:
isPremiumMember(Bool): Имеет ли пользователь премиум-подпискуhasFreeTrial(Bool): Имеет ли пользователь активный пробный периодhasPromoCode(Bool): Имеет ли пользователь действующий промокод
Возвращает: true, если пользователь может получить доступ к контенту через любой из трех вариантов, false, если ни один из них не применим (Bool)
Шпаргалка
Оператор ИЛИ (||) объединяет два условия и возвращает true, когда хотя бы одно условие истинно. Он возвращает false только тогда, когда оба условия ложны.
let hasCard = false
let hasCash = true
let canPay = hasCard || hasCash // trueВы можете комбинировать ИЛИ со сравнениями:
let age = 15
let hasPermission = true
let canWatch = age >= 18 || hasPermission // trueОператор ИЛИ полезен, когда истинности любого из нескольких условий достаточно для продолжения.
Попробуйте сами
func canAccessContent(isPremiumMember: Bool, hasFreeTrial: Bool, hasPromoCode: Bool) -> Bool {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Повторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический ввод