Size: a a a

2021 January 20

A

Alex in pro.lua
Но тем не менее мои потребности удовлетворяет
источник

A

Alex in pro.lua
И она не столько для защиты как для контроля
источник

A

Alex in pro.lua
источник

A

Alex in pro.lua
Этих данных мне хватает что бы понять,распостранил конкретный человек скрипт или нет
источник

A

Alex in pro.lua
То что это все не надежно и по детски я в курсе,но во первых я учусь постепенно,во вторых не тот продукт что бы так заморачиваться
источник

A

Alex in pro.lua
Вопрос в другом
Не могу понять почему не видна локальная переменная
источник

A

Alex in pro.lua
local names = {}

local lib2 = gg.makeRequest(adr..'names_1035001').content

load(lib2)()
источник

A

Alex in pro.lua
В lib2 записи вида
names.one = {} ..
источник

A

Alex in pro.lua
По идее же таблица в которую нужно делать записи объявлена до загрузки и вызова lib2
И выполняется в одном файле где она объявлена
почему не видна не могут въехать хоть убей
источник

S

Snusmumriken in pro.lua
Забей, сделай нормальную либу, абстрагированным набором функций.

*lib.lua*
local M = {}
M.foo = 100
M.bar = function(x, y) return x + y


*gg_script*
local lib2 = gg.makeRequest(adr..'names_1035001').content
local lib = load(lib2)()
источник

S

Snusmumriken in pro.lua
Локальная переменная которую ты объявляешь — локальна для этого файла, сторонние подгруженные функции её не увидят.
источник

S

Snusmumriken in pro.lua
То же самое что:

local function lib_that_you_load()
 names.foo = "bar"
end


local function script_that_you_call()
 local names = {}
 lib_that_you_load()
end

lib_that_you_load
не увидит names из script_that_you_call.
источник

A

Alex in pro.lua
Понял теперь. Короче пошел читать про либы 😩
источник

S

Snusmumriken in pro.lua
Нет ничего проще.
источник

S

Snusmumriken in pro.lua
local mymodule = {}

function mymodule.foo(x, y)
 return x + y
end

return mymodule

Просто таблица, и ретурн в конце файла. Реквайром (или load'ом) ты получаешь эту таблицу. Всё.
источник

A

Alex in pro.lua
Я просто думал что load(lib)() просто как бы вставит кусок нужного кода, и по правилам видимости
источник

S

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

S

Snusmumriken in pro.lua
Я уже писал что оно просто создаст функцию (без контекста, кроме глобального или указанного ранее) и вызовет её тут.
источник

S

Snusmumriken in pro.lua
Ещё в функции load можно указать конкретную таблицу окружения, то что будет вместо _G. То есть, всё что подгружаемая фигня будет объявлять глобально, будет записываться в указанную тобой таблицу. Ну и сама подгружаемая фигня сможет использовать только указанные в той таблице функции, то есть никаких math/io/gg/load/require по умолчанию там нет. Если ты добавишь — будет.
источник

A

Alex in pro.lua
Короче понятно пока что лишний геморой приобрел .
источник