История изменений
Исправление LightDiver, (текущая версия) :
Просто столкнулся с сильным ростом потребления озу и начал копать.
function addDb(db,key,msg)
if nsDb == nil then
nsDb = {}
end
if nsDb[db] == nil then
nsDb[db] = {}
end
if nsDb[db][key] == nil then
nsDb[db][key] = {}
end
local test
local razmerDb = tablelength(nsDb[db][key])
if razmerDb > 0 then
for k,v in pairs(nsDb[db][key]) do
if v == msg then
test = 1
end
end
end
if test == nil then
local num = tostring(razmerDb+1)
nsDb[db][key][msg] = 1
end
end
Вот был у меня такой код добавления сообщений в таблицу. Это, кстати, очень серьезный прогресс был, в сравнении с ручными проверками каждый раз и ручным добавлением. И тут до меня дошло - а нахрена?
function addDb(db,key,msg)
nsDb = nsDb or {}
nsDb[db] = nsDb[db] or {}
nsDb[db][key] = nsDb[db][key] or {}
nsDb[db][key][msg] = 1
end
По сути - то же самое однйо строкой. Без проверок и прочего.
И тут у меня возник вопрос, а что лучше: nsDb[db][key][msg] = 1 или nsDb[db][key][msg] = true
Вот и начал дальше копать.
А теперь у меня вообще общий класс для работы с данными.
Наверное что то такое будет.
Исходная версия LightDiver, :
Просто столкнулся с сильным ростом потребления озу и начал копать.
function addDb(db,key,msg)
if nsDb == nil then
nsDb = {}
end
if nsDb[db] == nil then
nsDb[db] = {}
end
if nsDb[db][key] == nil then
nsDb[db][key] = {}
end
local test
local razmerDb = tablelength(nsDb[db][key])
if razmerDb > 0 then
for k,v in pairs(nsDb[db][key]) do
if v == msg then
test = 1
end
end
end
if test == nil then
local num = tostring(razmerDb+1)
nsDb[db][key][msg] = 1
end
end
Вот был у меня такой код добавления сообщений в таблицу. Это, кстати, очень серьезный прогресс был, в сравнении с ручными проверками каждый раз и ручным добавлением. И тут до меня дошло - а нахрена?
function addDb(db,key,msg)
nsDb = nsDb or {}
nsDb[db] = nsDb[db] or {}
nsDb[db][key] = nsDb[db][key] or {}
nsDb[db][key][msg] = 1
end
По сути - то же самое однйо строкой. Без проверок и прочего.
И тут у меня возник вопрос, а что лучше: nsDb[db][key][msg] = 1 или nsDb[db][key][msg] = true
Вот и начал дальше копать.