Переменные


-- Все переменные Lua являются глобальными, если не помечены как local

x = 1
do
  local y = 2
end

* Все переменные являются частью глобальной таблицы _env,
* обращение к которой определяется глобальной функцией

gettable_event(_env, "x")

-- Переменные как и весь Lua чувствительны к регистру!

a = 1
A = 2

-- Числа - обычные/восьмеричные/десятичные
a = 0.5
b = 0777
c = 0xFF

-- Строки
a = 'Строка'
b = "Строка"
c = [[
  Строка
]]

-- Переменные можно присваивать и менять "кучей"
a,b,c = 1, 2, "three"
x,y = y,x

simple_str = 'alon123'
another_s  = "alon123"

long_str = [[alo
123]]

another_long = [==[
    alo
    123
]==]

a,b = b,a      -- обмен в одну строку
a,b,c = f(),x  -- c будет равно nil
a,b = ...      -- допустимо внутри функции

* Любая переменная считается глобальной, если она не объявлена как локальная
* Все глобальные переменные являются полями в таблицах Lua, называемых таблицами окружения
* Запись var.Name аналогична записи var["Name"]