LINUX.ORG.RU

История изменений

Исправление LightDiver, (текущая версия) :

Можно же прямо в класс запилить автоматическую работу с базами.

function NsDb:new(input_table, key, is_unique)
    local new_object = setmetatable({}, self)  -- Создаем новый объект и устанавливаем метатаблицу
    -- Инициализация таблицы по ключу
    input_table[key] = input_table[key] or {}

Вот я передаю базу классу. Но что мне мешает сделать это вот так:

--блаблапроверки на размеру таблиц
_G["ns_data_base"..i][key] = _G["ns_data_base"..i][key] or {}

Получается, я просто создаю объект и передаю общее имя базы данных. Класс уже внутри себя делает проверки на размеры таблиц и записывает в нужную.

При чтении он все это учитывает и проверяет все созданные таблицы.. Должно сработать.

Исправление LightDiver, :

Можно же прямо в класс запилить автоматическую работу с базами.

function NsDb:new(input_table, key, is_unique)
    local new_object = setmetatable({}, self)  -- Создаем новый объект и устанавливаем метатаблицу
    -- Инициализация таблицы по ключу
    input_table[key] = input_table[key] or {}

Вот я передаю базу классу. Но что мне мешает сделать это вот так:

--блаблапроверки на размеру таблиц
_G["ns_data_base"..i][key] = _G["ns_data_base"..i][key] or {}

Исходная версия LightDiver, :

Можно же прямо в класс запилить автоматическую работу с базами.

function NsDb:new(input_table, key, is_unique)
    local new_object = setmetatable({}, self)  -- Создаем новый объект и устанавливаем метатаблицу
    -- Инициализация таблицы по ключу
    input_table[key] = input_table[key] or {}

Вот я передаю базу классу. Но что мне мешает сделать это вот так:

--блаблапроверки на размеру таблиц
_G["ns_data_base"..i] = _G["ns_data_base"..i] or {}