История изменений
Исправление LightDiver, (текущая версия) :
Ну,согласись, программисты определенно изменились уже сейчас. Хотя некоторые динозавры этого еще не хотят понять. И эти изменения будут нарастать, пока языковые модели не упрутся в некий физический предел, если упрутся.
Вот я фермер. Начал программировать два года назад по необходимости для игры и для гильдии. По сути - нихрена не понимаю еще.
function NsDb:modKey(...)
local n = select('#', ...)
if n < 2 then return end
local value = select(n, ...)
local row_key = select(n-1, ...)
if not row_key or value == nil then return end
local target = self.input_table
for i = 1, n-2 do
local key = select(i, ...)
if not key then return end
local next_table = target[key]
if not next_table then
next_table = {}
target[key] = next_table
end
target = next_table
end
target[row_key] = value
end
function NsDb:getKey(...)
local n = select('#', ...)
if n == 0 then return nil end
local target = self.input_table
for i = 1, n-1 do
local key = select(i, ...)
if type(target) ~= "table" then return nil end
target = target[key]
if target == nil then return nil end
end
return type(target) == "table" and target[select(n, ...)] or nil
end
Вот без ИИ я бы такое еще лет 5 не смог сделать. Это сейчас как минимум замена документации. Пока я я буду неделю копаться в документации, он мне за секунду подскажет нужные операторы, решения.
Да, мне пришлось конкретно объяснить чего я хочу и перебрать варианты, описания. Да, пришлось углубленно понимать самому что внутри. Но тем не менее. Это нереально крутой инструмент уже сейчас.
Исходная версия LightDiver, :
Ну,согласись, программисты определенно изменились уже сейчас. Хотя некоторые динозавры этого еще не хотят понять. И эти изменения будут нарастать, пока языковые модели не упрутся в некий физический предел, если упрутся.
Вот я фермер. Начал программировать два года назад по необходимости для игры и для гильдии. По сути - нихрена не понимаю еще.
function NsDb:modKey(...)
local n = select('#', ...)
if n < 2 then return end
local value = select(n, ...)
local row_key = select(n-1, ...)
if not row_key or value == nil then return end
local target = self.input_table
for i = 1, n-2 do
local key = select(i, ...)
if not key then return end
local next_table = target[key]
if not next_table then
next_table = {}
target[key] = next_table
end
target = next_table
end
target[row_key] = value
end
function NsDb:getKey(...)
local n = select('#', ...)
if n == 0 then return nil end
local target = self.input_table
for i = 1, n-1 do
local key = select(i, ...)
if type(target) ~= "table" then return nil end
target = target[key]
if target == nil then return nil end
end
return type(target) == "table" and target[select(n, ...)] or nil
end
Вот без ИИ я бы такое еще лет 5 не смог сделать. Это сейчас как минимум замена документации. Пока я я буду неделю копаться в документации, он мне за секунду подскажет нужные операторы, решения.