Модуль:Taxonomy/recursion

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Документация
local p = {} --p stands for package

function p.TaxSubRecursion(frame)
    local i = 0
    local name = frame.args[1]
    local res = ""
    while (name ~= "Null") and (i < 100)
    do
        if (i > 0) then
            local args = { rang = frame:expandTemplate {title = name, args = {"rang"}},
                     latin = frame:expandTemplate {title = name, args = {"latin"}},
                     monoaut = frame:expandTemplate {title = name, args = {"monoaut"}},
                     ["Вымер"] = frame:expandTemplate {title = name, args = {"ext"}},
                     name = frame:expandTemplate {title = name, args = {"name"}},
                     ref = frame:expandTemplate {title = name, args = {"ref"}},                     
                   }
            res = frame:expandTemplate {title = "TaxString", args = args} .. res
        end
        name = mw.text.trim(frame:expandTemplate {title = name, args = {"parent"}})
        i = i + 1
    end
    return res
end

return p