Size: a a a

2020 June 11

SM

Sasha Main in pro.lua
a=5
print(_G.a)
function test()
   local b=7
   local c=8
   print(_L.b)
   print(_L.c)
end
test()

Что-то типа такого можно как-то записать?)
источник

I

Igor725 in pro.lua
Неа
источник

I

Igor725 in pro.lua
В getupvalue система похитрее, почитай в мануале, а то долго расписывать
источник

S

Snusmumriken in pro.lua
Sasha Main
a=5
print(_G.a)
function test()
   local b=7
   local c=8
   print(_L.b)
   print(_L.c)
end
test()

Что-то типа такого можно как-то записать?)
Понимаешь ли в чём фигня. Делать отдельную таблицу на каждый скоуп — довольно дорого. Поэтому там оптимизационная фигня.
источник

SM

Sasha Main in pro.lua
Snusmumriken
Понимаешь ли в чём фигня. Делать отдельную таблицу на каждый скоуп — довольно дорого. Поэтому там оптимизационная фигня.
Понимаю. Но где-то же они хранятся? Наверное тоже в таблице, но имя которой нам не известно, типа _LocalTEMPxx879, так наверное?)
источник

SM

Sasha Main in pro.lua
которая сама удаляется после выхода из блока
источник

I

Igor725 in pro.lua
Нет, под локальные используется только сишная фигня
источник

S

Snusmumriken in pro.lua
Нет, не в таблицах а в специальных прицепленных к функциям структурах, где ошиваются замыкания и как раз локальные переменные. Функция — составная штука.
источник

I

Igor725 in pro.lua
В Lua они торчат только через прослойку в виде дебаггера
источник

SM

Sasha Main in pro.lua
О
источник

SM

Sasha Main in pro.lua
Ничего не понял, но очень интересно
источник

SM

Sasha Main in pro.lua
😂
источник

I

Igor725 in pro.lua
Говорю же, ман почитай, так даже легче будет
источник

SM

Sasha Main in pro.lua
Но в целом понял, что так просто как _G их не получить, так что спасибо, ребят)
источник

I

Igor725 in pro.lua
Там всё понятно расписано о том, как работают локальные переменные
источник

I

Igor725 in pro.lua
И машина Lua в целом
источник

SM

Sasha Main in pro.lua
Спасибо
источник

I

Igor725 in pro.lua
Всегда пожалуйста
источник

S

Snusmumriken in pro.lua
Хмм, надо таки разобраться в дебажной либе. Потому что оно кажись смотрит именно что в замыкания а не в локальные переменные.
источник

CP

Companion Philipp in pro.lua
Snusmumriken
Хмм, надо таки разобраться в дебажной либе. Потому что оно кажись смотрит именно что в замыкания а не в локальные переменные.
Там замыкания тоже хитро реализованы, вместе с локальными
источник