Переменные

back.DEV

Известный
Автор темы
71
6
Версия MoonLoader
.026-beta
Сидел думал и появился у меня вопросик интересный, есть ли разница между обьявлением глобальной переменной в начале кода через local и просто без слова local, на что это влияет?
 
Решение
Сидел думал и появился у меня вопросик интересный, есть ли разница между обьявлением глобальной переменной в начале кода через local и просто без слова local, на что это влияет?
Если ты объявляешь локальную переменную вне функций, то это на работу никак не повлияет, но при компиляции имя этой переменной будет удалено и при декомпиляции нельзя будет узнать как называлась переменная

Quasper

Известный
835
354
Сидел думал и появился у меня вопросик интересный, есть ли разница между обьявлением глобальной переменной в начале кода через local и просто без слова local, на что это влияет?
local - делает переменную локальной, т.е она будет доступна только в той части кода/функции где была объявлена(примечание: локальная переменная объявленная в начале самого скрипта делает её доступной во вчем коде)
вот наглядный пример:
Lua:
local a = "a"
b = "b"
function main()
    local c = "c"
    d = "d"
    testPrint()
end

function testPrint()
    print(a, b, c, d)
    --выведет a, b, nil, d
end
 

Izvinisb

Известный
Проверенный
963
600
local - делает переменную локальной, т.е она будет доступна только в той части кода/функции где была объявлена(примечание: локальная переменная объявленная в начале самого скрипта делает её доступной во вчем коде)
вот наглядный пример:
Lua:
local a = "a"
b = "b"
function main()
    local c = "c"
    d = "d"
    testPrint()
end

function testPrint()
    print(a, b, c, d)
    --выведет a, b, nil, d
end
А теперь посмотри на его вопрос.
 

sᴀxᴏɴ

саксофон
Всефорумный модератор
791
853
Сидел думал и появился у меня вопросик интересный, есть ли разница между обьявлением глобальной переменной в начале кода через local и просто без слова local, на что это влияет?
Если ты объявляешь локальную переменную вне функций, то это на работу никак не повлияет, но при компиляции имя этой переменной будет удалено и при декомпиляции нельзя будет узнать как называлась переменная