Локальные переменные
Часть раздела Основы путешествия по Lua на Coddy. Урок 84 из 90.
В Lua есть ключевое слово local для создания переменных с ограниченной областью видимости. Когда ты объявляешь переменную с помощью local, к ней можно обращаться только внутри блока, в котором она была создана.
Вот как создать локальную переменную:
local playerHealth = 100
local isGameActive = trueКлючевое отличие заключается в том, что локальные переменные ограничены своим блоком. Например, если создать локальную переменную внутри блока do...end, к ней нельзя будет обратиться за пределами этого блока:
do
local secretCode = 1234
print(secretCode) -- Это работает
end
print(secretCode) -- выводит nil: локальная переменная здесь больше не существуетЗа пределами своего блока это имя ссылается на глобальную переменную, которой никогда не присваивали значение, поэтому Lua возвращает nil вместо ошибки.
Задание
ЛегкоСоздай блок do...end и объяви внутри него локальную переменную с именем secretMessage и значением "Hidden data". Внутри того же блока выведи значение secretMessage.
После завершения блока do...end попробуй снова вывести secretMessage. Поскольку локальные переменные ограничены областью видимости своего блока, эта вторая инструкция вывода выведет nil, потому что переменная больше недоступна за пределами своего блока.
Попробуйте сами
-- TODO: Напишите здесь свой код
-- Создайте блок do...end с локальной переменной secretMessage
-- Выведите secretMessage внутри блока
-- Затем попробуйте вывести secretMessage за пределами блокаВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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()Повторение — Форматирование имени пользователя11Таблицы 2: Словарный стиль
Пары ключ-значениеСоздание таблиц-словарейДоступ: квадратные скобкиДоступ через точечную нотациюДобавление и изменение парУдаление пар с помощью nilИтоги: свойства элементов14Область видимости переменных
Глобальные переменныеЛокальные переменныеЗачем использовать локальные переменные?Область видимости и блокиПовторение — Головоломка на область видимости3Операторы 1: Арифметика и конкатенация
Арифметические операторыОператор остатка от деленияОператор возведения в степеньКонкатенация строкПриоритет операторовПовторение: Простые вычисления6Проект: Вывод характеристик персонажа
Приветственное сообщениеОбъявление характеристик персонажа9Основы функций
Объявление функцииВызов функцииФункции с параметрамиФункции с несколькими параметрамиОператор 'return'Повторение — Калькулятор площадиПотренируйтесь самостоятельно: Онлайн-компилятор Lua