local stack = require('Module:String', 'Module:UnitTests');
--[[
top
Vrací vrcholovou šablonu ze stacktrace, poslední použitou, tedy nejspíše i error rootcause.
Použití:
{{#invoke:Stacktrace|top|stacktrace}}
NEBO
{{#invoke:Stacktrace|top|stacktrace=stacktrace}}
Parametry
stacktrace: Řetězcová konstrukce pro stacktrace, jak si jí šablony předávají
mezi sebou; povinný vstup.
If invoked using named parameters, Mediawiki will automatically remove any leading or
trailing whitespace from the parameter. In some circumstances this is desirable, in
other cases one may want to preserve the whitespace.
Vrací se opět string, tedy název poslední šablony, které jsou od sebe odděleny
znakem ">", což se naprosto předpokládá jako klíčový princip.
This function should be safe for UTF-8 strings.
]]
function stacktrace.top(frame)
local new_args = _getParameters(frame.args, {'stacktrace'});
local stacktrace_str = new_args['stacktrace'] or '';
if stacktrace_str=='' then return nil; end -- požadován
local members = string.split(stacktrace_str, '>', 1, true); -- stringy
return members[table.getn(members)]; -- poslední je top
end
--[[ helpers ]]
-- args --
function stack._getParameters(frame_args, arg_list)
return string._getParameters(frame_args, arg_list);
end
-- err --
function stack._error(error_str)
return string._error(error_str);
end
-- boolean --
function stack._getBoolean(boolean_str)
return string._getBoolean(boolean_str);
end
return stack;
Poslední aktualizace obsahu: 2024-10-28 15:24:53
Zdroj: Wikipedia (autoři článku Modul:Stacktrace)
Licence textu: CC-BY-SA-3.0 Unported
Tento článek byl automaticky přejat z Wikipedie. Na obrázcích nebyly provedeny žádné změny. Obrázky se zobrazují ve zmenšené velikosti (jako miniatury). Kliknutím na obrázek získáte další informace o autorovi a licenci. Byly změněny prvky designu, odstraněny některé odkazy specifické pro Wikipedii (např. odkazy na Editaci a nebo na neexistující hesla) a provedena optimalizace pro rychlé načítání.