Значения Truthy и Falsy
Часть раздела Fundamentals путешествия по Lua на Coddy — урок 24 из 90.
При использовании логических операторов, таких как and, or и not, Lua необходимо определить, что считается «истиной» или «ложью» в логических контекстах. Эта концепция называется истинными и ложными значениями (truthy и falsy), и Lua обрабатывает её иначе, чем многие другие языки программирования.
В Lua только два значения считаются ложными (falsy) (трактуются как false в логических операциях):
print(false and "This won't print") -- false является ложным (falsy)
print(nil and "This won't print") -- nil является ложным (falsy)Все остальное в Lua считается истинным (truthy) (трактуется как true в логических операциях). Это включает в себя значения, которые могут вас удивить, если вы переходите с других языков:
print(0 and "This will print") -- 0 является истинным (truthy) в Lua!
print("" and "This will print") -- Пустая строка является истинной (truthy)!
print({} and "This will print") -- Пустая таблица является истинной (truthy)!Шпаргалка
В Lua только два значения считаются ложными (falsy) (рассматриваются как false в логических операциях):
falsenil
Все остальное считается истинным (truthy), включая:
0(в отличие от многих других языков)- Пустые строки
"" - Пустые таблицы
{}
print(false and "Won't print") -- false является ложным (falsy)
print(nil and "Won't print") -- nil является ложным (falsy)
print(0 and "Will print") -- 0 является истинным (truthy) в Lua
print("" and "Will print") -- Пустая строка является истинной (truthy)Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
4Операторы 2: Сравнение и логика
Операторы равенстваОператоры сравненияОператор 'and'Оператор 'or'Оператор 'not'Сокращенные вычисленияЗначения Truthy и FalsyИтоги: Простая логика7Основы условной логики
Оператор if-thenОператор if-then-elseОператор elseifИтоги — Сундук с сокровищами10Таблицы, часть 1: Списки
Что такое таблица?Создание таблицыДоступ к элементам по индексуИзменение элементов по индексуОператор длины '#'table.insert()table.remove()Итоги: управление участниками группы13Проект: Простой магазин зелий
Настройка проектаДобавление зелья2Переменные и типы данных
Что такое переменная?ЧислаСтрокиБулевы значенияЗначение 'nil'Функция type()Правила именованияИтоги — Профиль персонажа5Базовый вывод
Вывод литераловВывод переменныхВывод нескольких значенийОбъединение строк и переменныхФункция tostring()ВводПриведение типовПовторение — Отчет о состоянииПовторение — До 1208Основы работы со строками
string.len()string.upper и string.lowerstring.sub()string.rep()string.find()Повторение — Форматирование имени пользователя3Операторы 1: Арифметика и конкатенация
Арифметические операторыОператор остатка от деленияОператор возведения в степеньКонкатенация строкПриоритет операторовПовторение: Простые вычисления6Проект: Вывод характеристик персонажа
Приветственное сообщениеОбъявление характеристик персонажа9Основы функций
Объявление функцииВызов функцииФункции с параметрамиФункции с несколькими параметрамиОператор 'return'Повторение — Калькулятор площади