Нет описания правки |
Нет описания правки |
||
Строка 18: | Строка 18: | ||
end | end | ||
local function convertJobSyntax(job) | |||
return mw.ustring.gsub(job, "%[%[([^|]+)|([^]]+)%]%]", "[[$1|$2]]") | |||
end | |||
local function compareByCost(a, b) | local function compareByCost(a, b) | ||
return tonumber(p.store[a].cost) < tonumber(p.store[b].cost) | return tonumber(p.store[a].cost) < tonumber(p.store[b].cost) | ||
Строка 26: | Строка 29: | ||
for _, k in ipairs(keys) do | for _, k in ipairs(keys) do | ||
local convertedJob = convertJobSyntax(p.store[k].job) | |||
out = out .. frame:expandTemplate{ title = "Uplink", args = { prototype = k }} | out = out .. frame:expandTemplate{ title = "Uplink", args = { prototype = k }} | ||
end | end |
Версия от 10:43, 20 января 2024
Для документации этого модуля может быть создана страница Модуль:Uplink Lookup/doc
local prototypes = mw.loadData("Module:Uplink Lookup/data") local p = {} p.store = prototypes.store function p.readscalar(frame) return mw.text.nowiki(p.store[frame.args[1]][frame.args[2]]) end function p.buildlists(frame) local out = "" local group = frame.args[1] local keys = {} for k in pairs(p.store) do if p.store[k].group == group or group == nil then table.insert(keys, k) end end local function convertJobSyntax(job) return mw.ustring.gsub(job, "%[%[([^|]+)|([^]]+)%]%]", "[[$1|$2]]") end local function compareByCost(a, b) return tonumber(p.store[a].cost) < tonumber(p.store[b].cost) end table.sort(keys, compareByCost) for _, k in ipairs(keys) do local convertedJob = convertJobSyntax(p.store[k].job) out = out .. frame:expandTemplate{ title = "Uplink", args = { prototype = k }} end return out end return p