Uwaga |
---|
Moduł:Parametry
Przejdź do nawigacji
Przejdź do wyszukiwania
Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Parametry/opis
local p={};
p["LiczbaElementówNumerowanychTablicy"]=function(tabela, wliczac)
local liczba_elementow_ponumerowanych_w_tablicy=0;
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
for _1,_2 in ipairs(tabela)do
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(parametry_modul.CzyTak(_2))))then
liczba_elementow_ponumerowanych_w_tablicy=liczba_elementow_ponumerowanych_w_tablicy+1;
end;
end;
return liczba_elementow_ponumerowanych_w_tablicy;
end;
p["LiczbaElementówNumerowanychSzablonu"]=function(frame)
local parametry_modul=require("Module:Parametry");
return parametry_modul["LiczbaElementówNumerowanychTablicy"](frame:getParent().args,frame.args["niepuste"]);
end;
p["LiczbaParametrówNienazwanychSzablonu"] = function (frame)
return p["LiczbaElementówNienazwanychTablicy"](frame:getParent().args,frame.args["niepuste"])
end;
p["LiczbaElementówNienazwanychTablicy"] = function(tabela,wliczac)
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
local liczba_elementow_ponumerowanych_w_tablicy=0;
for _1,_2 in pairs(tabela)do
if(type(_1)=="number")then
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(parametry_modul.CzyTak(_2))))then
liczba_elementow_ponumerowanych_w_tablicy=liczba_elementow_ponumerowanych_w_tablicy+1;
end;
end;
end;
return liczba_elementow_ponumerowanych_w_tablicy;
end;
p["LiczbaElementówTablicy"]=function(tabela,wliczac)
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
local liczba_elementow_w_tablicy=0;
for _1,_2 in pairs(tabela)do
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(parametry_modul.CzyTak(_2))))then
liczba_elementow_w_tablicy=liczba_elementow_w_tablicy+1;
end;
end;
return liczba_elementow_w_tablicy;
end;
p["LiczbaElementówNumerowanychZPrzedrostkiemLubNieTablicy"]=function(tabela,przedrostek,wliczac)
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
local liczba_elementow_w_tablicy=0;
for _1,_2 in pairs(tabela)do
local zmienna=przedrostek.._1 ;
local element=tabela[zmienna] or tabela[_1];
if(element)then
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(element~="")))then
liczba_elementow_w_tablicy=liczba_elementow_w_tablicy+1;
end;
end;
end;
return liczba_elementow_w_tablicy;
end;
function p.MaksymalnaLiczbaParametruNienazwanegoSzablonu(frame)
return p.MaksymalnaLiczbaParametruNienazwanegoTablicy(frame:getParent().args,frame.args["niepuste"]);
end;
function p.MaksymalnaLiczbaParametruNienazwanegoTablicy(tabela, wliczac)
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
local liczba_elementow_ponumerowanych_w_tablicy=0;
for _1,_2 in pairs(tabela)do
if(type(_1)=="number")then
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(parametry_modul.CzyTak(_2))))then
liczba_elementow_ponumerowanych_w_tablicy=math.max(liczba_elementow_ponumerowanych_w_tablicy,_1);
end;
end;
end;
return (liczba_elementow_ponumerowanych_w_tablicy)and liczba_elementow_ponumerowanych_w_tablicy or 0;
end;
function p.MinimalnaLiczbaParametruNienazwanegoSzablonu(frame)
mw.logObject(frame:getParent():getTitle(), "parent:title")
_ = mw.title.new("Module:Parametry/Wywołanie funkcji/MinimalnaLiczbaParametruNienazwanegoSzablonu").id
return p.MinimalnaLiczbaParametruNienazwanegoTablicy(frame:getParent().args,frame.args["niepuste"]);
end;
function p.MinimalnaLiczbaParametruNienazwanegoTablicy(tabela,wliczac)
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
local liczba_elementow_ponumerowanych_w_tablicy;
for _1,_2 in pairs(tabela)do
if(type(_1)=="number")then
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(parametry_modul.CzyTak(_2))))then
if(not liczba_elementow_ponumerowanych_w_tablicy)then liczba_elementow_ponumerowanych_w_tablicy=_1;end;
liczba_elementow_ponumerowanych_w_tablicy=math.min(liczba_elementow_ponumerowanych_w_tablicy,_1);
end;
end;
end;
return (liczba_elementow_ponumerowanych_w_tablicy)and liczba_elementow_ponumerowanych_w_tablicy or 1;
end;
function p.MinimalnyIMaksymalnyNumerParametru(tabela,nazwa_parametru_okreslona)
local liczba_maksimum=0;
local liczba_minimum;
for nazwa_parametru,wartosc_parametru in pairs(tabela)do
local liczba_z_parametru=mw.ustring.match(nazwa_parametru,"^"..nazwa_parametru_okreslona.."%s(%d+)$")
if(liczba_z_parametru)then
local liczba=tonumber(liczba_z_parametru) or 0;
liczba_maksimum=math.max(liczba_maksimum,liczba);
if(not liczba_minimum)then
liczba_minimum=(liczba>0)and liczba or 1;
else
liczba_minimum=math.min(liczba_minimum,(liczba>0)and liczba or 1);
end;
elseif(nazwa_parametru_okreslona==nazwa_parametru)then
liczba_maksimum=math.max(liczba_maksimum,1);
if(not liczba_minimum)then
liczba_minimum=1;
else
liczba_minimum=math.min(liczba_minimum,1);
end;
end;
end;
if(not liczba_minimum)then liczba_minimum=1;end;
return liczba_minimum,liczba_maksimum;
end;
p["CzySąParametryNumerowaneSzablonu"] = function(frame)
local czy_sa_elementy_tablicy=require("Module:Parametry")["CzySąElementyNumerowaneTablicy"](frame:getParent().args,frame.args["niepuste"]);
if(czy_sa_elementy_tablicy)then return "tak";end;
return;
end;
p["CzySąElementyNumerowaneTablicy"]=function(tabela,wliczac)
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
for _1,_2 in ipairs(tabela)do
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(parametry_modul.CzyTak(_2))))then
return true;
end;
end;
return false;
end;
p["CzySąParametryNienazwaneSzablonu"] = function(frame)
local czy_sa_elementy_tablicy=require("Module:Parametry")["CzySąElementyNienazwaneTablicy"](frame:getParent().args,frame.args["niepuste"]);
if(czy_sa_elementy_tablicy)then return "tak";end;
return;
end;
p["CzySąElementyNienazwaneTablicy"]=function(tabela,wliczac)
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
for _1,_2 in pairs(tabela)do
if(type(_1)=="number")then
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(parametry_modul.CzyTak(_2))))then
return true;
end;
end;
end;
return false;
end;
p["CzySąParametryNazwaneSzablonu"] = function(frame)
local czy_sa_elementy_tablicy=require("Module:Parametry")["CzySąElementyNazwaneTablicy"](frame:getParent().args,frame.args["niepuste"]);
if(czy_sa_elementy_tablicy)then return "tak";end;
return;
end;
p["CzySąElementyNazwaneTablicy"]=function(tabela,wliczac)
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
for _1,_2 in pairs(tabela)do
if(type(_1)~="number")then
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(parametry_modul.CzyTak(_2))))then
return true;
end;
end;
end;
return false;
end;
p["CzySąParametrySzablonu"] = function(frame)
local czy_sa_elementy_tablicy=require("Module:Parametry")["CzySąElementyTablicy"](frame:getParent().args,frame.args["niepuste"]);
if(czy_sa_elementy_tablicy)then return "tak";end;
return;
end;
p["CzySąElementyTablicy"]=function(tabela,wliczac)
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
for _1,_2 in pairs(tabela)do
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(parametry_modul.CzyTak(_2))))then
return true;
end;
end;
return false;
end;
p["CzyCoNajwyżejJedenNumerowanyParametrSzablonu"] = function (frame)
local parametry_modul=require("Module:Parametry");
return parametry_modul["CzyCoNajwyżejJedenNumerowanyElementTablicy"](frame:getParent().args,frame.args["niepuste"]);
end;
p["CzyCoNajwyżejJedenNumerowanyElementTablicy"] = function (args,wliczac)
local parametry_modul=require("Module:Parametry");
local czy_puste_wliczac=parametry_modul.CzyTak(wliczac);
local i=1;
local czy=false;
for _1,_2 in pairs(args)do
if(type(_1)=="number")then
if((not czy_puste_wliczac)or((czy_puste_wliczac)and(parametry_modul.CzyTak(_2))))then
if(_1==1)then czy=true;end;
if(i>1)then
return "";
else
i=i+1;
end;
end;
end;
end;
if((czy)or(i==1))then return "tak";else return;end;
end;
p["KopiujTabelęŁańcuchów"]=function(args)
local args2={};
for name,value in pairs(args.tabela)do
if(args.wzor and args.podstawienie)then value=mw.ustring.gsub(value,args.wzor,args.podstawienie);end;
if(args.wzor2)then value=mw.ustring.match(value,args.wzor2);end;
args2[name]=((args.przedrostek)and args.przedrostek or '')..value..((args.przyrostek)and args.przyrostek or '');
end;
return args2;
end;
p["KopiujTabelęElementów"]=function(tabelka,wliczac_1,wliczac_2)
local czy_puste_wliczac_1=p.CzyTak(wliczac_1);
local czy_puste_wliczac_2=p.CzyTak(wliczac_2);
local tabelka2={};
for name,value in pairs(tabelka)do
if(((not czy_puste_wliczac_1)or((czy_puste_wliczac_1)and(p.CzyTak(name))))and((not czy_puste_wliczac_2)or((czy_puste_wliczac_2)and(p.CzyTak(value)))))then
tabelka2[name]=value;
end;
end;
return tabelka2;
end;
p["KopiujTabelęElementówBezTablicyKluczy"]=function(tabelka,tabelka2,wliczac_1,wliczac_2)
local czy_puste_wliczac_1=p.CzyTak(wliczac_1);
local czy_puste_wliczac_2=p.CzyTak(wliczac_2);
local tabelka3={};
for name,value in pairs(tabelka)do
if(((not czy_puste_wliczac_1)or((czy_puste_wliczac_1)and(p.CzyTak(name))))and((not czy_puste_wliczac_2)or((czy_puste_wliczac_2)and(p.CzyTak(value)))))then
local czy=p.CzyJestTakiKluczTabeli(tabelka2,name);
if(not czy)then
tabelka3[name]=value;
end;
end;
end;
return tabelka3;
end;
p["KopiujRekurencyjnieTabelęElementów"]=function(tabelka,wliczac_1,wliczac_2)
local czy_puste_wliczac_1=p.CzyTak(wliczac_1);
local czy_puste_wliczac_2=p.CzyTak(wliczac_2);
local function kopiuj(tabelka)
local tabelka2={};
for name,value in pairs(tabelka)do
if(((not czy_puste_wliczac_1)or((czy_puste_wliczac_1)and(p.CzyTak(name))))and((not czy_puste_wliczac_2)or((czy_puste_wliczac_2)and(p.CzyTak(value)))))then
if(type(value)=="table")then
tabelka2[name]=kopiuj(value);
else
tabelka2[name]=value;
end;
end;
end;
return tabelka2;
end;
return kopiuj(tabelka);
end;
p["NazwanyLiczbą"] = function(frame)
mw.logObject(frame:getParent():getTitle(), "parent:title")
_ = mw.title.new("Module:Parametry/Wywołanie funkcji/NazwanyLiczbą").id
local pf=frame:getParent()
local numer_parametru=frame.args[1]
if(numer_parametru)then
numer_parametru=tonumber(numer_parametru);
if(numer_parametru and pf.args[numer_parametru])then
return "tak"
end
end;
return;
end
p["NazwanyCiągiem"] = function (frame)
mw.logObject(frame:getParent():getTitle(), "parent:title")
_ = mw.title.new("Module:Parametry/Wywołanie funkcji/NazwanyCiągiem").id
local pf=frame:getParent()
local klucz_parametru=frame.args[1]
if(klucz_parametru)then
local klucz_parametru_do_liczby=tonumber(klucz_parametru);
if((not klucz_parametru_do_liczby)and(pf.args[klucz_parametru]))then
return "tak"
end
end;
return;
end;
function p.Nazwane(frame)
local pf = frame:getParent()
for _, nazwa_parametru in ipairs(frame.args)do
local wartosc_parametru_nazwanego=pf.args[mw.text.trim(nazwa_parametru)]
if(wartosc_parametru_nazwanego)then return "tak" end
end
return;
end
function p.Nienazwane(frame)
local pf = frame:getParent()
for _, wartosc_parametru in ipairs(frame.args)do
wartosc_parametru=mw.text.trim(wartosc_parametru)
for name, wartosc_parametru2 in pairs(pf.args) do
if(type(name)=="number")then
if(mw.text.trim(wartosc_parametru2)==wartosc_parametru)then
return "tak"
end
end;
end
end
return;
end
function p.Numerowane(frame)
local pf = frame:getParent()
for _, wartosc_parametru in ipairs(frame.args)do
wartosc_parametru=mw.text.trim(wartosc_parametru)
for _, wartosc_parametru2 in ipairs(pf.args) do
if(mw.text.trim(wartosc_parametru2)==wartosc_parametru)then
return "tak"
end
end
end
return;
end
p["Odstępy"] = function(frame)
local parametry_modul=require("Module:Parametry");
local nazwa;local czy;
if(type(frame)=="table")then
local args=frame and ((frame.getParent and(parametry_modul.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args or frame) or {};
nazwa=args[1];
czy=args["wewnątrz"] or args[2];
else
nazwa=frame;
end;
if(not p.CzyTak(nazwa))then return nazwa;end;
nazwa=mw.ustring.gsub(nazwa,"^[%s_]+","");
nazwa=mw.ustring.gsub(nazwa,"[%s_]+$","")
if(p.CzyTak(czy))then
nazwa,_=mw.ustring.gsub(nazwa,"[%s_]+"," ");
end;
return nazwa;
end;
function p.DodajElementDoZbioru(tabela,wartosc)
if(wartosc==nil)then return; end;
if(type(tabela)~="table")then return;end;
for _,element_tabeli in pairs(tabela)do
if(element_tabeli==wartosc)then
return false;
end;
end;
table.insert(tabela,wartosc);
return true;
end;
function p.CzyJestTakiElementNumerowanyTabeli(tabela,wartosc)
if(wartosc==nil)then return;end;
if(type(tabela)~="table")then return;end;
for _, element_tabeli in ipairs(tabela)do
if(element_tabeli==wartosc)then
return true;
end;
end;
return false;
end;
function p.CzyJestTakiElementNienazwanyTabeli(tabela,wartosc)
if(wartosc==nil)then return;end;
if(type(tabela)~="table")then return;end;
for name,value in pairs(tabela)do
if(type(name)=="number")then
if(value==wartosc)then
return true;
end;
end;
end;
return false;
end;
function p.CzyJestTakiKluczTabeli(tabela,klucz)
if(klucz==nil)then return;end;
if(type(tabela)~="table")then return;end;
local wartosc=tabela[klucz];
if(wartosc~=nil)then return true;end;
return false;
end;
function p.CzyJestTakiElementTabeli(tabela,klucz,wartosc)
if((klucz==nil)or(wartosc==nil))then return;end;
if(type(tabela)~="table")then return;end;
for __klucz, __wartosc in pairs(tabela)do
if((__klucz==klucz)and(__wartosc==wartosc))then
return true;
end;
end;
return false;
end;
p["ŁączDwieTabele"] = function (tabelka1,tabelka2)
local parametry_modul=require("Module:Parametry");
return (tabelka2 and parametry_modul["CzySąElementyTablicy"](tabelka2))and ((tabelka1 and parametry_modul["CzySąElementyTablicy"](tabelka1))and parametry_modul["ŁączNumerowaneTabele"]{[1]=tabelka1,[2]=tabelka2,} or tabelka2) or tabelka1;
end;
p["ŁączZbioryElementówNumerowanychDwóchTabel"]=function(tabelka1,tabelka2)
local parametry_modul=require("Module:Parametry");
return (tabelka1 and parametry_modul["CzySąElementyNumerowaneTablicy"](tabelka1))and ((tabelka2 and parametry_modul["CzySąElementyNumerowaneTablicy"](tabelka2))and parametry_modul["ŁączZbioryNumerowanychElementówNumerowanychTabel"]{[1]=tabelka1,[2]=tabelka2} or tabelka1) or tabelka2;
end;
p["ŁączZbioryElementówNienazwanychDwóchTabel"]=function(tabelka1,tabelka2)
local parametry_modul=require("Module:Parametry");
return (tabelka1 and parametry_modul["CzySąElementyNienazwaneTablicy"](tabelka1))and ((tabelka2 and parametry_modul["CzySąElementyNienazwaneTablicy"](tabelka2))and parametry_modul["ŁączZbioryNienazwanychElementówNumerowanychTabel"]{[1]=tabelka1,[2]=tabelka2} or tabelka1) or tabelka2;
end;
p["ŁączZbioryElementówNazwanychDwóchTabel"]=function(tabelka1,tabelka2)
local parametry_modul=require("Module:Parametry");
return (tabelka1 and parametry_modul["CzySąElementyNazwaneTablicy"](tabelka1))and ((tabelka2 and parametry_modul["CzySąElementyNazwaneTablicy"](tabelka2))and parametry_modul["ŁączZbioryNazwanychElementówNumerowanychTabel"]{[1]=tabelka1,[2]=tabelka2} or tabelka1) or tabelka2;
end;
p["ŁączZbioryNumerowanychElementówNienazwanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2=parametry_modul["KopiujTabelęElementów"](args);
args2.CzyPairsTablic=true;args2["CzyPairsElementówTablic"]=false;args2.CzyNazwaneElementyTabel=false;args2.CzyTylkoNazwaneElementyTabel=false;
return parametry_modul["ŁączTabele"](args2);
end;
p["ŁączZbioryNienazwanychElementówNienazwanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2=parametry_modul["KopiujTabelęElementów"](args);
args2.CzyPairsTablic=true;args2["CzyPairsElementówTablic"]=true;args2.CzyNazwaneElementyTabel=false;args2.CzyTylkoNazwaneElementyTabel=false;
return parametry_modul["ŁączTabele"](args2);
end;
p["ŁączZbioryNazwanychElementówNienazwanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2=parametry_modul["KopiujTabelęElementów"](args);
args2.CzyPairsTablic=true;args2["CzyPairsElementówTablic"]=true;args2.CzyNazwaneElementyTabel=true;args2.CzyTylkoNazwaneElementyTabel=true;
return parametry_modul["ŁączTabele"](args2);
end;
p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2=parametry_modul["KopiujTabelęElementów"](args);
args2.CzyPairsTablic=false;args2["CzyPairsElementówTablic"]=false;args2.CzyNazwaneElementyTabel=false;args2.CzyTylkoNazwaneElementyTabel=false;
return parametry_modul["ŁączTabele"](args2);
end;
p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2=parametry_modul["KopiujTabelęElementów"](args);
args2.CzyPairsTablic=false;args2["CzyPairsElementówTablic"]=true;args2.CzyNazwaneElementyTabel=false;args2.CzyTylkoNazwaneElementyTabel=false;
return parametry_modul["ŁączTabele"](args2);
end;
p["ŁączZbioryNazwanychElementówNumerowanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2=parametry_modul["KopiujTabelęElementów"](args);
args2.CzyPairsTablic=false;args2["CzyPairsElementówTablic"]=true;args2.CzyNazwaneElementyTabel=true;args2.CzyTylkoNazwaneElementyTabel=true;
return parametry_modul["ŁączTabele"](args2);
end;
p["ŁączNumerowaneTabele"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2=parametry_modul["KopiujTabelęElementów"](args);
args2.CzyPairsTablic=false;args2["CzyPairsElementówTablic"]=true;args2.CzyNazwaneElementyTabel=true;args2.CzyTylkoNazwaneElementyTabel=false;
return parametry_modul["ŁączTabele"](args2);
end;
p["ŁączNienazwaneTabele"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2=parametry_modul["KopiujTabelęElementów"](args);
args2.CzyPairsTablic=true;args2["CzyPairsElementówTablic"]=true;args2.CzyNazwaneElementyTabel=true;args2.CzyTylkoNazwaneElementyTabel=false;
return parametry_modul["ŁączTabele"](args2);
end;
p["ŁączTabele"] = function(args)
local parametry_modul=require("Module:Parametry");
local tabela={};
local par1=(args.CzyPairsTablic)and pairs or ipairs;
local czy_number_nie_tylko_tablic=(not args.CzyPairsTablic)and true or false;
local par2=(args["CzyPairsElementówTablic"])and pairs or ipairs;
local czy_number_nie_tylko_elementow_tablic=(not args["CzyPairsElementówTablic"])and true or false;
local czy_nazwane=(args.CzyNazwaneElementyTabel)and true or false;
local czy_nie_tylko_nazwane=(not args.CzyTylkoNazwaneElementyTabel)and true or false;
for licznik, args_tabeli in par1(args)do
if(((czy_number_nie_tylko_tablic)or(type(licznik)=="number"))and(type(args_tabeli)=="table"))then
for name,value in par2(args_tabeli)do
if((czy_nie_tylko_nazwane)and((czy_number_nie_tylko_elementow_tablic)or(type(name)=="number")))then
table.insert(tabela,value);
elseif((czy_nazwane)and(czy_nie_tylko_nazwane or ((not czy_nie_tylko_nazwane)and(type(name)~="number"))))then
if(not tabela[name])then tabela[name]=value;end;
end;
end;
end;
end;
return tabela;
end;
p["UsuńElementyTabeli"]=function(tabelka_1,tabelka_2)
if(not tabelka_1)then return nil;end;
local tabelka=require("Module:Parametry")["KopiujTabelęElementów"](tabelka_1);
if(not tabelka_2)then return tabelka;end;
for name,_ in pairs(tabelka_2)do
if(tabelka[name])then tabelka[name]=nil;end;
end;
return tabelka;
end;
local function CzyTakSilnik(args,funkcja)
local parametry_modul=require("Module:Parametry");
local parametr=parametry_modul.CzyTak(args[2]) and require("Module:"..args[2])[args[1]] or args[1];
local argsfun;
if(parametry_modul.CzyTak(args[2]))then
for name,value in pairs(args)do
local typen=(type(name)=="number");
if(((typen)and((name~=1)and(name~=2)))or(not typen))then
if(not argsfun)then argsfun={};end;
argsfun[(typen and name>2) and (name-2) or name]=value;
end;
end;
else
parametr=tonumber(parametr) or parametr;
if(type(parametr)=="string")then
local parametr2=parametry_modul["Odstępy"](parametr);
if(parametr2=="true")then
parametr=true;
elseif(parametr2=="false")then
parametr=false;
elseif(parametr2=="nil")then
parametr=nil;
else
parametr=tonumber(parametr2) or parametr;
end;
end;
end;
return (parametry_modul[funkcja]{[1]=parametr,[2]=argsfun,})and "tak" or nil;
end;
p["CzyTakCiąg"]=function(frame)
local czy=(type(frame)~="table");local czy2=(type(frame)~="function")
if((czy and czy2) or ((not czy)and (not frame.getParent)))then
local parametry_modul=require("Module:Parametry");
local ciag;local parametry;
if(not czy)then
local args=frame.args or frame;
ciag=args["ciąg"] or args[1];
parametry=args["parametry"] or args[2];
else
ciag=frame;
end;
return ciag and parametry_modul.CzyTak{[1]=(type(ciag)=="string")and parametry_modul["Odstępy"]{[1]=ciag,[2]="tak",} or ciag,[2]=parametry,} or false;
else
local parametry_modul=require("Module:Parametry");
local args=frame and ((frame.getParent and(parametry_modul.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args or frame) or {};
return CzyTakSilnik(args,"CzyTakCiąg");
end;
end;
function p.CzyTak(frame)
local czy=(type(frame)~="table");local czy2=(type(frame)~="function")
if((czy and czy2) or ((not czy)and (not frame.getParent)))then
local parametry_modul=require("Module:Parametry");
local zmienna;local parametry;
if(not czy)then
local args=frame.args or frame;
zmienna=args["zmienna"] or args[1];
parametry=args["parametry"] or args[2];
else
zmienna=frame;
end;
if(zmienna~=nil)then
if(type(zmienna)=="string")then
if(zmienna~="")then
return true;
else
return false;
end;
elseif(type(zmienna)=="number")then
if(zmienna~=0)then
return true;
else
return false;
end;
elseif(type(zmienna)=="boolean")then
return zmienna;
elseif(type(zmienna)=="table")then
return p["CzySąElementyTablicy"](zmienna);
elseif(type(zmienna)=="function")then
return zmienna(parametry);
else
return false;
end;
else
return false;
end;
else
local parametry_modul=require("Module:Parametry");
local args=frame and ((frame.getParent and(parametry_modul.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args or frame) or {};
return CzyTakSilnik(args,"CzyTak");
end;
end;
function p.PobierzParametr(frame)
if(type(frame)=="table")then
local parametry_modul=require("Module:Parametry");
local args=(frame.getParent and(parametry_modul.CzyTak(frame.args["wyspecjalizowana"]) and frame or frame:getParent()) or frame).args or frame;
return args[1];
else
return frame;
end;
end;
function p.And(frame)
local czy="tak";
local parametry_modul=require("Module:Parametry");
for _,wartosc in ipairs(frame.args)do
czy=czy and parametry_modul["CzyTakCiąg"](wartosc);
if(not czy)then return nil;end;
end;
return czy and "tak" or nil;
end;
function p.Or(frame)
local czy=nil;
local parametry_modul=require("Module:Parametry");
for _,wartosc in ipairs(frame.args)do
czy=czy or parametry_modul["CzyTakCiąg"](wartosc);
if(czy)then return "tak";end;
end;
return czy and "tak" or nil;
end;
function p.Not(frame)
local parametry_modul=require("Module:Parametry");
return (not parametry_modul["CzyTakCiąg"](frame.args[1]))and "tak" or nil;
end;
function p.IlePodano(frame)
local args=frame.args;
local args2=frame:getParent().args;
local licznik=0;
for _,name in pairs(args)do
if(args2[name])then
licznik=licznik+1;
end;
end;
return licznik;
end;
return p;