Menu
Coddy logo textTech

Значения 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 в логических операциях):

  • false
  • nil

Все остальное считается истинным (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)

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Fundamentals