Module:Damage: Difference between revisions

From Elwiki
No edit summary
No edit summary
Line 5: Line 5:
end
end


function forargs(frame, prefix)
function argSort(frame)
     local i = 1
     local args = getArgs(frame)
    local tab = ''
     local tkeys = {}
     local tkeys = {}
     local args = getArgs(frame)
     local tab = {}
     for k in frame:argumentPairs() do table.insert(tkeys, k) end
     for k in frame:argumentPairs() do table.insert(tkeys, k) end
     table.sort(tkeys)
     table.sort(tkeys)
     for _, k in ipairs(tkeys) do
     for _, k in ipairs(tkeys) do
         if string.starts(k, prefix) then
         tab[k] = args[k]
            tab = tab .. k .. '=' .. args[k] .. ', '
    end
        end
    return tab
end
 
function forargs(frame, prefix)
    local tab = argSort(frame)
    for k,v in pairs(tab) do
        tab = tab .. ', ' .. k .. '=' .. v
     end
     end
     -- for k,v in frame:argumentPairs() do
     -- for k,v in frame:argumentPairs() do

Revision as of 22:01, 23 March 2022

Documentation for this module may be created at Module:Damage/doc

local getArgs = require('Module:Arguments').getArgs
local p = {}
function string.starts(String,Start)
    return string.sub(String,1,string.len(Start))==Start
end

function argSort(frame)
    local args = getArgs(frame)
    local tkeys = {}
    local tab = {}
    for k in frame:argumentPairs() do table.insert(tkeys, k) end
    table.sort(tkeys)
    for _, k in ipairs(tkeys) do
        tab[k] = args[k]
    end
    return tab
end

function forargs(frame, prefix)
    local tab = argSort(frame)
    for k,v in pairs(tab) do
        tab = tab .. ', ' .. k .. '=' .. v
    end
    -- for k,v in frame:argumentPairs() do
    --     if string.starts(k, prefix) then
    --         if i == 1 then
    --             tab = k .. '=' .. v
    --         else
    --             tab = tab .. ', ' .. k .. '=' .. v
    --         end
    --         i = i + 1
    --     end
    -- end
    return tab
end

function p.main(frame)
    local args = getArgs(frame)
    return forargs(frame, 'hits')
end

return p