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