Переменные: где код хранит значения
Заводить переменные, менять их значения и понимать, где они видны.
Теория
Переменная — это имя для значения. Пишешь local coins = 0 — и дальше в коде вместо нуля используешь слово coins. Значение можно поменять в любой момент, имя останется прежним.
Слово local значит «эта переменная живёт только здесь»: внутри скрипта, функции или блока. Без local переменная становится глобальной, её видит весь скрипт, и разобраться, кто её испортил, становится тяжело. В Luau local пишут почти всегда.
- Имя переменной — латиницей, без пробелов, чувствительно к регистру: coins и Coins разные
- Значение можно перезаписать: coins = coins + 10
- Сокращение coins += 10 работает и читается лучше
- Переменная, объявленная внутри блока, снаружи не видна
Пример
Скрипт заводит две переменные, меняет одну из них и печатает результат.
local playerName = "Аня"local coins = 100coins += 50print(playerName .. " — монет: " .. coins)
Две точки подряд склеивают строки: это конкатенация, а не сложение.
Задача
Заведи переменные для имени игрока, его уровня и здоровья. Увеличь уровень на единицу, уменьши здоровье на 25 и выведи одной строкой всё вместе.
- Числа складываются через +=, строки склеиваются через ..
- Число внутри строки превращать вручную не нужно: конкатенация справится
Показать решение
local playerName = "Аня"local level = 3local health = 100level += 1health -= 25print(playerName .. ": уровень " .. level .. ", здоровье " .. health)
Проверь себя
Зачем перед именем переменной пишут local?
Показать ответ
local ограничивает видимость. Менять значение можно, а сохранением занимается DataStore.
Что напечатает print("Монет: " .. 10 + 5)?
Показать ответ
Сложение выполняется раньше склейки, поэтому в строку попадает уже 15.