Wikibooks plwikibooks https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna MediaWiki 1.48.0-wmf.1 first-letter Media Specjalna Dyskusja Wikipedysta Dyskusja wikipedysty Wikibooks Dyskusja Wikibooks Plik Dyskusja pliku MediaWiki Dyskusja MediaWiki Szablon Dyskusja szablonu Pomoc Dyskusja pomocy Kategoria Dyskusja kategorii Wikijunior Dyskusja Wikijuniora TimedText TimedText talk Moduł Dyskusja modułu Wydarzenie Dyskusja wydarzenia Moduł:StronicowyParser/Potrzebne 828 58155 560245 560104 2026-10-28T17:57:12Z Persino 2851 560245 Scribunto text/plain local p={}; function p.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw_spisu_rzeczy_szablon,kod_num) local numer_parametru; if(not tabela_nazw_spisu_rzeczy_szablon.numer_parametru)then local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tab_spisu_rzeczy; if(not kod_num)then tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu; else tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_linkowe_spisu_rzeczy; end; numer_parametru=tab_spisu_rzeczy[nazwa_szablonu]; if(not numer_parametru)then return nil;end; tabela_nazw_spisu_rzeczy_szablon.numer_parametru=numer_parametru; else numer_parametru=tabela_nazw_spisu_rzeczy_szablon.numer_parametru; end; local indeks=numer_parametru[numer]; for p,_ in ipairs(indeks) do local parametr=tabela_parametrow_szablonu[indeks[p]]; if(parametr)then return parametr; end; end; return nil; end; function p.LiczonyHNumer() local tab={}; local h_numer_zapamietane=nil; --local ostatnie_poprz=nil; return function(h_numer,h_numer_nowe) if(h_numer==0)then if(#tab>0)then local h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]); return ostatnie_poprz; end; return nil; elseif(h_numer<0)then h_numer=math.abs(h_numer); end; local ostatnie;---=tab[h_numer]; local max_h_numer=nil;local min_h_numer=nil; local ostatnie_max;local ostatnie_min;local ostatnie_ost;local ostatnie_ost_prawda=true; for i=#tab,1,-1 do ---- local h_numer_pos,ostatnie_pos=unpack(tab[i]); if(ostatnie_ost_prawda)then if(h_numer_pos==h_numer)then ostatnie_ost=ostatnie_pos; break; end; ostatnie_ost_prawda=nil; end; ---- if((h_numer>h_numer_pos)and((max_h_numer or 0)<h_numer_pos))then if((h_numer_pos or 0)<=(max_h_numer or h_numer))then ostatnie_max=ostatnie_pos; max_h_numer=h_numer_pos; end; end; end; if(ostatnie_ost)then ostatnie=ostatnie_ost; else ostatnie=(ostatnie_max or 0)+1; end; local h_numer_poprz,ostatnie_poprz=nil,nil; if(#tab>0)then h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]); end; if(ostatnie>(ostatnie_poprz or 0)+1)then ostatnie=(ostatnie_poprz or 0)+1; end; table.insert(tab,{h_numer,ostatnie,}); if(h_numer_nowe)then local roznica=h_numer_nowe-ostatnie; if(roznica==0)then return ostatnie; end; local tab2={}; for i,tabs in pairs(tab)do local name,value=unpack(tabs); tab2[i]={name,value+roznica,}; end; tab=tab2; return h_numer_nowe; end; return ostatnie; end; end; function p.PoziomAdresu(adres) local lens=#adres; local i=1; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; end; end; return i; end; function p.NazwaNadStrony(adres,numer) if((numer)and(numer==0))then return nil;end; if((numer)and(numer<1)or(numer~=math.floor(numer)))then return nil;end; local lens=#adres; local i=1; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; end; if(i==numer)then return mw.ustring.sub(adres,1,p-1); end; end; return adres; end; function p.SubNazwaNadStrony(adres,numer,krok) if((not numer)or(numer<1)or(numer~=math.floor(numer)))then return adres;end; krok=krok or 1; if((krok<1)or(krok~=math.floor(krok)))then return adres;end; local lens=#adres; local i=1; local a=nil;local b=nil; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; if(i==numer)then if(not a)then a=p+1;end; end; if(i==numer+krok)then if(not b)then b=p-1;break;end; end; end; end; if(not a)then a=1;end; if(not b)then b=lens;end; return mw.ustring.sub(adres,a,b); end; function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki) local nazwa_przestrzeni=self.args["nazwa przestrzeni nazw"]; local nazwa_jednostki=self.args["nazwa jednostki"]; if(((nazwa_przestrzeni)and(nazwa_jednostki))or((nazwa_przestrzeni)and(not nazwa_jednostki))or((not nazwa_przestrzeni)and(nazwa_jednostki)))then local html_modul=require("Module:Html"); if(nazwa_jednostki)then local tabela_nazw_adresu={}; self.naglowek=html_modul["NagłówekStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu); self.parametry=html_modul["ParametryStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu); end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=((nazwa_przestrzeni)and ((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "") or nazwy_modul["NAZWAPRZESTRZENI"]()); local nazwa_jednostki=(((nazwa_jednostki)and(nazwa_jednostki~=""))and nazwa_jednostki or nazwy_modul["NAZWASTRONY"]()); local pelna_nazwa_jednostki=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; pelna_nazwa_jednostki=html_modul.DecodeHtml(pelna_nazwa_jednostki,true); pelna_nazwa_jednostki=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](pelna_nazwa_jednostki); --- local techniczne_modul=require("Module:Techniczne"); local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu); pelna_nazwa_jednostki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_jednostki,[2]=nazwa_modulu,}; pelna_nazwa_jednostki=nazwy_modul["PEŁNANAZWASTRONY"](pelna_nazwa_jednostki); local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_jednostki); if(strona)then pelna_nazwa_jednostki=strona;end; local nazwy_modul=require("Module:Nazwy"); self.nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_jednostki); self.nazwa_przestrzeni_woluminu=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_jednostki); self.nazwa_woluminu=(self.nazwa_przestrzeni_woluminu~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_jednostki) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_jednostki); self.nazwa_podstrony_woluminu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_jednostki); self.parametry_woluminu=false; local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[self.nazwa_przestrzeni]; if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return;end; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[self.nazwa_przestrzeni_woluminu]; if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return;end; local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[self.nazwa_woluminu]; if(not tab_lista_artykulow_w_ksiazce)then return; end; local oryginalna_ksiazka=tab_lista_artykulow_w_ksiazce.adres_woluminu_bazowego_spisu_rzeczy; if(oryginalna_ksiazka)then self.nazwa_przestrzeni=oryginalna_ksiazka[1]; self.nazwa_przestrzeni_woluminu=oryginalna_ksiazka[2]; self.nazwa_woluminu=oryginalna_ksiazka[3]; end; else local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; self.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; self.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; self.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; self.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; self.parametry_woluminu=true; end; end; function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local self_tab; if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu))then if((self.parametry_woluminu)and((not tabela_listy_danych_analizy_ksiazki)or(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then if(not tabela_listy_danych_analizy_ksiazki)then self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki); end; if((not self_tab)or((self_tab)and(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki; local tab_lista_artykulow_w_ksiazce=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki; local tab_lista_zmiennych_w_artykule=tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu; return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; end; end; end; if((not self_tab)or(not tabela_listy_danych_analizy_ksiazki))then self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki); end; local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni or((not czy_podana) and self_tab.nazwa_przestrzeni_podana or self_tab.nazwa_przestrzeni)]; if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return nil,nil,nil,nil,nil; end; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[nazwa_przestrzeni_ksiazki or((not czy_podana) and self_tab.nazwa_przestrzeni_woluminu_podana or self_tab.nazwa_przestrzeni_woluminu)]; if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,nil,nil,nil;--[[--Do poprawienia--]] end; local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki or((not czy_podana) and self_tab.nazwa_woluminu_podana or self_tab.nazwa_woluminu)]; if(not tab_lista_artykulow_w_ksiazce)then return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,nil,nil; end; local tab_lista_zmiennych_w_artykule=tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu and tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu[nazwa_artykulu or ((not czy_podana) and self_tab.nazwa_podstrony_woluminu_podana or self_tab.nazwa_podstrony_woluminu)] or nil; return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; end; function p.AnalizujArgumentySzablonu(self,frame) local parametry_modul=require("Module:Parametry"); self.args=parametry_modul.PobierzArgsParametry(frame,true); end; function p.Args(self) return self.args; end; function p.Self(self,tabela_listy_danych_analizy_ksiazki) local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local self_tab={}; self_tab.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; self_tab.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; self_tab.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; self_tab.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; self_tab.nazwa_przestrzeni_podana=self.nazwa_przestrzeni; self_tab.nazwa_przestrzeni_woluminu_podana=self.nazwa_przestrzeni_woluminu; self_tab.nazwa_woluminu_podana=self.nazwa_woluminu; self_tab.nazwa_podstrony_woluminu_podana=self.nazwa_podstrony_woluminu; return self_tab,tabela_listy_danych_analizy_ksiazki; end; function p.KompletnaNazwaWoluminu(self,frame) return ((self.nazwa_przestrzeni~="")and(self.nazwa_przestrzeni..":") or "")..((self.nazwa_przestrzeni_woluminu~="")and (self.nazwa_przestrzeni_woluminu.."/") or "")..self.nazwa_woluminu end; function p.NazwaPodStronyWoluminu(self,frame) return self.nazwa_podstrony_woluminu..(self.parametry and ("?"..self.parametry) or "")..(self.naglowek and ("#"..self.naglowek) or ""); end; function p.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki_w_bazie,przekierowanie_w_bazie,naglowek,ksiazka,analizowana) local stronicowyparser_modul=require("Module:StronicowyParser"); local nazwy_modul=require("Module:Nazwy"); local czy_z_nazwa_ksiazki=ksiazka and (not analizowana) and pelna_nazwa_ksiazki_w_bazie; local pelna_nazwa_ksiazki=(czy_z_nazwa_ksiazki and (pelna_nazwa_ksiazki_w_bazie[4])) and nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki_w_bazie[1],pelna_nazwa_ksiazki_w_bazie[2],pelna_nazwa_ksiazki_w_bazie[3],"") or nil; local artykul=czy_z_nazwa_ksiazki and not pelna_nazwa_ksiazki_w_bazie[5] and p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,naglowek) or artykul; return ksiazka and ((((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki~="")) and(pelna_nazwa_ksiazki)or stronicowyparser_modul["AktualnaKsiążka"](mw.getCurrentFrame())).."/"..artykul) or artykul; end; function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki) p:AnalizujArgumentySzablonu(frame); p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); local tab_lista_artykulow_w_ksiazce_spis=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end; local tab_naglowkow={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; local czy_centrowany=tab_lista[1][2][4]; if((poziom_rozdzialu)and(poziom_rozdzialu>0)and(not czy_centrowany))then table.insert(tab_naglowkow,rozdzial); end; end; self.tablica_napisowa_wprowadzenia_tekstu=tab_naglowkow; return tab_naglowkow; end; function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki) self.numer_pomiedzy_napisu_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1; self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end; self.len_tablicy_napisu_wprowadzenia_tekstu=self.len_tablicy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); self.reszta_pomiedzy_napisu_wprowadzenia_tekstu=math.fmod(self.numer_pomiedzy_napisu_wprowadzenia_tekstu,self.len_tablicy_napisu_wprowadzenia_tekstu-2); local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_pomiedzy_napisu_wprowadzenia_tekstu+2]; return artykul; end; function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki) self.numer_losowy_napis_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1; self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end; self.len_tablicy_napisu_wprowadzenia_tekstu=self.len_tablicy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); self.reszta_losowy_napis_wprowadzenia_tekstu=math.fmod(self.numer_losowy_napis_wprowadzenia_tekstu,self.len_tablicy_napisu_wprowadzenia_tekstu); local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_losowy_napis_wprowadzenia_tekstu+1]; return artykul; end; function p.PierwszyNapisWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); return self.tablica_napisowa_wprowadzenia_tekstu[1]; end; function p.OstatniNapisWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); return self.tablica_napisowa_wprowadzenia_tekstu[#(self.tablica_napisowa_wprowadzenia_tekstu)]; end; function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); self.len_tablicy_napisu_wprowadzenia_tekstu=self.len_tablicy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); return self.len_tablicy_napisu_wprowadzenia_tekstu; end; function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame) local tab_naglowkow=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame); local parametry_modul=require("Module:Parametry"); return parametry_modul.IteratorPoNumerowanychElementachTablicy(tab_naglowkow); end; function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly) p:AnalizujArgumentySzablonu(frame); local lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; if(not tab_lista_artykulow_w_ksiazce_spis)then p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); spis_tresci=tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu; inne_spisy=tab_lista_artykulow_w_ksiazce.tab_inne_spisy; dodatkowe_artykuly=tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu; end; if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end; local args=p:Args(); local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykulow=(not czy_naglowek) and {} or nil; local tab_listy_artykulow={}; local tab_listy_artykulow_spis={}; local czy_inne_spisy=false; local html_modul=require("Module:Html"); local nazwa_tabeli_danego_spisu_tresci=args["spis"]; if(nazwa_tabeli_danego_spisu_tresci)then local techniczne_modul=require("Module:Techniczne"); nazwa_tabeli_danego_spisu_tresci=html_modul.DecodeHtml(nazwa_tabeli_danego_spisu_tresci,true); nazwa_tabeli_danego_spisu_tresci=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_tabeli_danego_spisu_tresci); nazwa_tabeli_danego_spisu_tresci=parametry_modul["Odstępy"]{[1]=nazwa_tabeli_danego_spisu_tresci,[2]="tak",}; nazwa_tabeli_danego_spisu_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"](nazwa_tabeli_danego_spisu_tresci,""); local nazwa_ksiazki=p:KompletnaNazwaWoluminu(frame) local nazwa_artykulu=nazwa_ksiazki.."/"..nazwa_tabeli_danego_spisu_tresci; local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_artykulu); if(strona)then local nazwy_modul=require("Module:Nazwy"); nazwa_tabeli_danego_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona); end; end; local czy_dany_spis=nil; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do local poziom_rozdzialu=tab_lista[1][2][1]; local nazwa_spisu=nil; if(((m==1)and(not poziom_rozdzialu))or((m>0)and(poziom_rozdzialu)and(poziom_rozdzialu==1)))then local spis=tab_lista[1]["spis"]; nazwa_spisu=spis and spis[1] or nil; ---- if(not nazwa_tabeli_danego_spisu_tresci)then if(nazwa_spisu)then if(not tab_listy_artykulow["spis"])then tab_listy_artykulow["spis"]={};end; local spis_artykulow=tab_listy_artykulow["spis"]; spis_artykulow[nazwa_spisu]={}; tab_listy_artykulow_spis=spis_artykulow[nazwa_spisu]; czy_inne_spisy=true; else local dodatkowe=tab_lista[1]["dodatkowe"]; if(dodatkowe)then tab_listy_artykulow["dodatkowe"]={}; tab_listy_artykulow_spis=tab_listy_artykulow["dodatkowe"]; czy_inne_spisy=true; end; end; else if(nazwa_spisu)then if(nazwa_spisu==nazwa_tabeli_danego_spisu_tresci)then czy_dany_spis=true; else if(czy_dany_spis)then czy_dany_spis=nil; break; else czy_dany_spis=nil; end; end; end; end; end; if((tab_lista[2])and((not nazwa_tabeli_danego_spisu_tresci)or((nazwa_tabeli_danego_spisu_tresci)and(czy_dany_spis))))then local pomin_pozycje=true; for _,artykul_w_bazie in ipairs(tab_lista[2])do if((not pomin_pozycje)or(not nazwa_spisu))then local czy_table_baza_artykulu=p.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local artykul=czy_table_baza_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; ---- artykul=p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek); ---- if(czy_naglowek or (not tab_artykulow[artykul]))then if(not czy_naglowek)then tab_artykulow[artykul]=true;end; local nazwa=czy_table_baza_artykulu and artykul_w_bazie[1][2] or nil; local przekierowanie=czy_table_baza_artykulu and artykul_w_bazie[1][3] or nil; local pelna_nazwa_ksiazki=czy_table_baza_artykulu and artykul_w_bazie[1][4] or nil; table.insert(tab_listy_artykulow_spis,(nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul); end; else pomin_pozycje=false; end; end; end; end; local stronicowyparser_modul=require("Module:StronicowyParser"); local parametry_modul=require("Module:Parametry"); --local spis_tresci,inne_spisy,dodatkowe_artykuly=nazwa_glownego_spisu,tab_inne_spisy,tab_dodatkowe_artykuly; if((nazwa_tabeli_danego_spisu_tresci)or(((not inne_spisy) or(not parametry_modul["CzySąElementyNumerowaneTablicy"](inne_spisy))) and((not dodatkowe_artykuly) or(not parametry_modul["CzySąElementyNumerowaneTablicy"](dodatkowe_artykuly))) ))then local tablica_spisu_glownego; if(not nazwa_tabeli_danego_spisu_tresci)then if(czy_inne_spisy)then local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci); local tab_listy_artykulow_spis=tab_listy_artykulow["spis"] or {}; tablica_spisu_glownego=tab_listy_artykulow_spis[czy_table_spis_tresci and spis_tresci[1] or spis_tresci]; else tablica_spisu_glownego=tab_listy_artykulow_spis; end; else tablica_spisu_glownego=tab_listy_artykulow_spis; end; local iter_glowny=parametry_modul.IteratorPoNumerowanychElementachTablicy(tablica_spisu_glownego); return function() local wartosc=iter_glowny(); if(not wartosc)then return nil;end; local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc); local artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc or nil); local nazwa=czy_table_wartosc and wartosc[2] or nil; local przekierowanie=czy_table_wartosc and wartosc[3] or nil; local pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil; return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; end; local wykorzystane_spisy={}; local iter_innych_spisow=parametry_modul.IteratorPoNumerowanychElementachTablicy(inne_spisy or {}); local czy_dodatkowe_zaanalizowane=false; local function IteratorMain(wartosc,numer) ---- local tabela_spisu_spis=tab_listy_artykulow["spis"] or {}; local tabela_spisu=tabela_spisu_spis[wartosc]; if(tabela_spisu)then if((wykorzystane_spisy)and(wykorzystane_spisy[wartosc]))then tabela_spisu=nil; else wykorzystane_spisy[wartosc]=true; end; end; local iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {}); ---- local tak=nil; local iter2=nil; local function Iterator() local function IterMain() local wartosc=iter(); local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; if(not wartosc)then if(numer~=0)then return nil; else local function InneSpisy() --if(aa<10)then return nil;end; local spis=iter_innych_spisow(); if(not spis)then if(czy_dodatkowe_zaanalizowane)then return nil;end; local tabela_spisu_spis=tab_listy_artykulow["dodatkowe"]; if((not tabela_spisu_spis)or(not parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_spisu_spis)))then return nil;end; iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu_spis or {}); czy_dodatkowe_zaanalizowane=true; wartosc=iter(); return true; end; local czy_table_spis=parametry_modul.TypeTable(spis); local spis_artykul=czy_table_spis and spis[1] or spis; if(not wykorzystane_spisy[spis_artykul])then wykorzystane_spisy[spis_artykul]=true; local tabela_spisu_spis=tab_listy_artykulow["spis"] or {}; local tabela_spisu=tabela_spisu_spis[spis_artykul]; if(tabela_spisu)then iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {}); wartosc=iter(); if(not wartosc)then return InneSpisy(); end; else return InneSpisy(); end; else return InneSpisy(); end; return true; end; local koniec=InneSpisy(); if(not koniec)then return nil;end; end; end; ---- local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc); artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc); nazwa=czy_table_wartosc and wartosc[2] or nil; przekierowanie=czy_table_wartosc and wartosc[3] or nil; pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil; ---- artykul=p.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul); ---- tak=true; iter2=IteratorMain(artykul,numer+1); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; if(not tak)then local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain(); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; else local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=iter2(); if(not artykul)then tak=nil; local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain(); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; else return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; end; end; return Iterator; end; local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci); return IteratorMain(czy_table_spis_tresci and spis_tresci[1] or spis_tresci,0); end; function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac) local frame=mw.getCurrentFrame(); local nazwy_modul=require("Module:Nazwy"); local techniczne_modul=require("Module:Techniczne"); local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,nil,tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly); for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do if(pelna_nazwa_ksiazki)then if(co_ma_wykrywac)then if((pelna_nazwa_ksiazki[1]==nazwa_przestrzeni)and(pelna_nazwa_ksiazki[2]==nazwa_przestrzeni_ksiazki)and(pelna_nazwa_ksiazki[3]==nazwa_ksiazki))then local czy_przekierowanie=pelna_nazwa_ksiazki[6]; if(czy_przekierowanie)then local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false); if(pelna_nazwa_ksiazki[5])then if(nazwa_artykulu==przekierowanie)then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,1; end; else if((nazwa_artykulu==przekierowanie))then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,2; end; end; else local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local ile,_=techniczne_modul.PoliczZbiory{[1]=nazwa_modulu,tekst=true,}; if(ile>0)then return nazwa_artykulu,3; else return nazwa_artykulu,4; end; end; end; end; else if(not co_ma_wykrywac)then local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false); if(przekierowanie)then if(nazwa_artykulu==przekierowanie)then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,1; else local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); if(nazwa_artykulu==nazwa_artykulu_strony)then return nazwa_artykulu_strony,2; end; end; else local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); if(nazwa_artykulu==nazwa_artykulu_strony)then return nazwa_artykulu,3; end; end; end; end; end; end; function p.ObliczeniaInformacje(self,frame) local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return nil;end; ---- self.tab_artykul={}; ---- for artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki in iterator do table.insert(self.tab_artykul, (nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul); end; self.len_tab_artykul=#self.tab_artykul; return true; end; function p.UsuwanieElementowePoziomoweZTablicy(tablica,numer) if(numer==0)then return tablica,0;end; local s=0; for i=#tablica,1,-1 do local artykul=tablica[i][1]; local numer_artykulu_w_bazie=p.PoziomAdresu(artykul); if(numer~=numer_artykulu_w_bazie)then table.remove(tablica,i); s=s+1; end; end; return tablica,s; end; function p.LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(self,frame,numer) local tab_artykul;local s; if(numer>0)then local parametry_modul=require("Module:Parametry"); tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul); tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer); else tab_artykul=self.tab_artykul; s=0; end; local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1; local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul-2); local artykul=tab_artykul[reszta_pomiedzy_artykul+2]; return artykul; end; function p.LosowaStronaWoluminu(self,frame,numer) local tab_artykul;local s; if(numer>0)then local parametry_modul=require("Module:Parametry"); tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul); tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer); else tab_artykul=self.tab_artykul; s=0; end; local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1; local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul); local artykul=tab_artykul[reszta_pomiedzy_artykul+1]; return artykul; end; function p.RozwijanieZakodowanejNazwySzablonu(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu,nazwa_modulu_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) local szablonowe_modul=require("Module:Szablonowe"); local function RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu,nazwa_modulu_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if((szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow)) or (szablonowe_modul.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow)) )then return nil,false; end; local nazwa_szablonu_temp,czy_powodzenie=p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,nazwa_modulu_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true); if(not czy_powodzenie)then return nil,false; end; nazwa_szablonu=nazwa_szablonu_temp or nazwa_szablonu; return nazwa_szablonu,true; end; nazwa_szablonu=RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu,nazwa_modulu_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; return nazwa_szablonu; end; function p.TOCSilnik(frame,lista_elementow_spisu_tresci, atrybuty,bez_przypisow) if(lista_elementow_spisu_tresci==nil)then return nil;end; local twor_listy=""; local liczba_ulozenia_w_menu_spisu_tresci=lista_elementow_spisu_tresci[1][2]; local poziom=1; local num={}; local nazwa_strony_z_naglowkami=lista_elementow_spisu_tresci.nazwa_strony or ""; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for licznik, element_w_tablicy in ipairs(lista_elementow_spisu_tresci) do local czy_w_tym_szablony=mw.ustring.match(element_w_tablicy[1][1],"{{[^{}]+}}"); local adres=element_w_tablicy[1][1]; local naglowek=element_w_tablicy[1][2]; local czy_przypis=(bez_przypisow and stronicowyparser_obiekty_modul.napisy_wprowadzenia_tekstu_przypisowych[naglowek] or nil); if(czy_w_tym_szablony)then local specjalne_modul=require("Module:Specjalne"); adres=specjalne_modul["PrzetwórzNagłówek"](adres,true); naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,false); end; adres=nazwa_strony_z_naglowkami.."#"..adres; ---- if(licznik==1)then num[#num+1]=1; twor_listy=(atrybuty and '<ul '..atrybuty..'>' or '<ul>')..'<li '..(czy_przypis and ('style="display:none;" ') or "")..'class=\"toclevel-1 tocsection-1\">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; else if(element_w_tablicy[2]==liczba_ulozenia_w_menu_spisu_tresci)then num[#num]=num[#num]+1; twor_listy=twor_listy..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; elseif(element_w_tablicy[2]>liczba_ulozenia_w_menu_spisu_tresci)then num[#num+1]=1; poziom=poziom+1; twor_listy=twor_listy..'<ul><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2]; elseif(element_w_tablicy[2]<liczba_ulozenia_w_menu_spisu_tresci)then local num_length=#num; for i=num_length,num_length-liczba_ulozenia_w_menu_spisu_tresci+element_w_tablicy[2]+1,-1 do table.remove(num); end; num[#num]=num[#num]+1; local roznica_poziomow=liczba_ulozenia_w_menu_spisu_tresci-element_w_tablicy[2]; poziom=poziom-roznica_poziomow; twor_listy=twor_listy..mw.ustring.rep('</li></ul>',roznica_poziomow)..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">' .."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2]; end; end; end; twor_listy=twor_listy..mw.ustring.rep('</li></ul>',liczba_ulozenia_w_menu_spisu_tresci or 0); return twor_listy; end; function p.TOC(frame,lista_elementow_spisu_tresci,czy_nie_aktualny,rozciagnij) local frame=frame or mw.getCurrentFrame(); local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,true); local bez_przypisow=PobierzParametr("bez przypisów"); bez_przypisow=parametry_modul.CzyTak(bez_przypisow); local twor_listy=p.TOCSilnik(frame,lista_elementow_spisu_tresci,nil,bez_przypisow); local toc_czy_tocramka=PobierzParametr("toc");toc_czy_tocramka=parametry_modul.CzyTak(toc_czy_tocramka); if(not toc_czy_tocramka)then local czy_ukryte=twor_listy; local funkcja=PobierzParametr("funkcja") or "UkrytaWikitabelowaListaMenu"; local wysokosc=PobierzParametr("wysokość");wysokosc=parametry_modul.CzyTak(wysokosc) and wysokosc or "43.75rem"; local szerokosc=PobierzParametr("szerokość");szerokosc=parametry_modul.CzyTak(szerokosc)and szerokosc or "100%"; local spis_tresci=PobierzParametr("spis treści");spis_tresci=parametry_modul.CzyTak(spis_tresci)and spis_tresci or "Spis treści"; local bez_not_overflow_x=PobierzParametr("bez pasków poziomych przewijania");bez_not_overflow_x=parametry_modul.CzyTak(bez_not_overflow_x); local spis_artykulu=PobierzParametr("spis artykułu");spis_artykulu=parametry_modul.CzyTak(spis_artykulu); local czy_bez_arginesu_dolnego=PobierzParametr("bez marginesu dolnego");czy_bez_arginesu_dolnego=parametry_modul.CzyTak(czy_bez_arginesu_dolnego); local z_marginesami_ramki=PobierzParametr("z marginesami ramki");local czy_z_marginesami_ramki=parametry_modul.CzyTak(z_marginesami_ramki); local zawartosc_z_marginesami=PobierzParametr("zawartość z marginesami");local czy_zawartosc_z_marginesami=parametry_modul.CzyTak(zawartosc_z_marginesami); local maxwidth=PobierzParametr("max-width"); local czy_maxwidth=((maxwidth)and(maxwidth~="none"))and tonumber(mw.ustring.match(maxwidth,"^(%d+)%a+$")) or nil; local klasa=PobierzParametr("klasa"); --twor_listy='<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or "")..'" style="'..(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding-right:3px;box-sizing:border-box;">'..(czy_ukryte or "<ul></ul>").."</div>"; local klasa_tytulu='tytuł_spisu_treści'; local styl_tytulu='text-align:left;font-size:1em;line-height:1.2em;'..(spis_artykulu and ';border-bottom:#aaa 1px solid' or '')..';white-space:nowrap;min-width:8.125em;'; local styl_spisu=(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding:0.1875em 0.3125em;;box-sizing:border-box;'; local klasa_spisu='toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or ""); local spis=czy_ukryte or "<ul></ul>"; local wikikod_menu='{{Tabela nawigacyjna|styl='..((czy_z_marginesami_ramki) and ("margin:"..z_marginesami_ramki)..";" or "")..((czy_bez_arginesu_dolnego) and 'margin-bottom:0;' or "")..'font-size:1em;background-color:white;line-height:1.2em;width:'..(rozciagnij and "100%" or "auto")..';box-sizing:border-box'..(spis_artykulu and ';border:#aaa 1px solid' or '')..'|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu='..styl_tytulu..'|klasa tytułu='..klasa_tytulu..'|tytuł='..spis_tresci..'|klasa spisu='..klasa_spisu..'|styl spisu='..styl_spisu..'|spis='..spis..'|funkcja='..funkcja..'|klasa=spis_treści'..(klasa and (" "..klasa) or '')..'}}'; local rozwiniety_wikikod=frame:preprocess(wikikod_menu); return rozwiniety_wikikod; else return (twor_listy and ('\n<div style="color: #000;font-family: \'Linux Libertine\',\'Georgia\',\'Times\',serif;font-weight: normal;font-size:2.2em;border-bottom:1px solid #a2a9b1;line-height: 1.3;margin-top:1em;margin-bottom:0.25em">Spis treści</div>\n<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..'" style="margin-left:1em;font-size:1em;line-height:1.4;">'..twor_listy..'</div>') or ""); end; end; function p.AnalizaSzablonuStronicowegoParsera(self,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu_szablonowa,tablica_danych_parametrow_szablonu_strony,__Funkcja, __Funkcja2) if(obiekt~="SZABLON")then return;end; --uzyskano_w_wyniku_parsowania_wywolanie_szablonu=mw.ustring.gsub(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,"\n+",""); --local tablica_obiektow_strony=self.tablica_obiektow_strony[nazwa_modulu]; ---- local szablonowe_modul=require("Module:Szablonowe"); ---- local function GlownaFunkcja(wywolanie,obiekt,kod) local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(wywolanie,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) __Funkcja(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,wywolanie,obiekt,kod,tab_numer); if(__Funkcja2)then __Funkcja2(wywolanie,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,uzyskano_w_wyniku_parsowania_wywolanie_szablonu); end; end); end; GlownaFunkcja(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod); end; function p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(artykul))and(artykul["LINK"]))then if(not czy_naglowek)then return artykul[1]; else return artykul; end; end; return artykul; end; function p.CzyTabelaStronyWoluminuSpisuRzeczy(tab_artykul) local parametry_modul=require("Module:Parametry"); local czy_table_baza_artykulu=parametry_modul.TypeTable(tab_artykul); if((czy_table_baza_artykulu)and(tab_artykul["LINK"]))then return false;end; return czy_table_baza_artykulu; end; function p.TylkoNazwaStronyWoluminuZTabeliPublikacji(tab_artykulu,pomin_link) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(tab_artykulu))and(pomin_link or tab_artykulu["LINK"]))then return tab_artykulu[1];end; return tab_artykulu; end; function p.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_artykulu) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(tab_artykulu))and(tab_artykulu["LINK"]))then return nil;end; return tab_artykulu; end; function p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_artykulu_strony,parametry,naglowek,tab_innej_przekierowania_strony) local parametry_modul=require("Module:Parametry"); parametry=parametry_modul.CzyTak(parametry) and parametry or nil; naglowek=parametry_modul.CzyTak(naglowek) and naglowek or nil; return (parametry or naglowek or tab_innej_przekierowania_strony) and {nazwa_artykulu_strony,parametry,naglowek,["LINK"]=true,tab_innej_przekierowania_strony,} or nazwa_artykulu_strony; end; function p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,naglowek,pomin_link) local parametry_modul=require("Module:Parametry"); if(parametry_modul.TypeTable(tab_artykul))then if(pomin_link or tab_artykul["LINK"])then local nazwa_artykulu_strony=tab_artykul[1]; if(naglowek)then local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; return nazwa_artykulu_strony..(parametry and ("?"..parametry) or "")..(naglowek and ("#"..naglowek) or ""); else return nazwa_artykulu_strony; end; else return tab_artykul; end; else return tab_artykul; end; end; function p.DekodowanieTekstu(nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci) return function(tekst,tryb,czy_nie_odstepy,drugi_wynik,czy_drugi_wynik_przetworzony) if(not tekst)then return tekst;end; local stronicowyparser_pomocne_modul=require("Module:StronicowyParser/Pomocne"); local tekst,tekst2=stronicowyparser_pomocne_modul.DekodowanieTekstuNazwLinku(tekst,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,tryb,czy_nie_odstepy,drugi_wynik,czy_drugi_wynik_przetworzony) return tekst,tekst2; end; end; function p.ARCHIWLubSTARE(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul) local obiekt=obiekt or "ARCHIW"; local szablonowe_modul=require("Module:Szablonowe"); kod=kod or szablonowe_modul.NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); kod=kod+1; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; return szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod),kod; end; function p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,nazwa_modulu_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_uwzgledniac_modyfikatory,czy_z_kluczem) ---- --nazwa_modulu_szablonowa=nazwa_modulu_szablonowa or nazwa_modulu; local szablonowe_modul=require("Module:Szablonowe"); local czy_kodowanie=mw.ustring.match(nazwa_szablonu,szablonowe_modul.NormaWzoruKodowaniaTekstu()); if(not czy_kodowanie)then return nil,true;end; if(not czy_uwzgledniac_modyfikatory)then local czy_modyfikatory=mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:"); if(czy_modyfikatory)then return nil,false;end; end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; --local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu; --local tab_tekst=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; --- local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local tab_szablony_strona_zbiorcza=stronicowyparser_obiekty_modul.strona_zbiorcza ---- local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; ---- local techniczne_modul=require("Module:Techniczne"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local czy_szablon_wszystko=false; local max; local nazwa_szablonu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local wynik,jaki_wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_szablonowa, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((tab_szablony[nazwa_szablonu]) ---or(tab_naglowki[nazwa_szablonu]) --or(tab_tekst[nazwa_szablonu] or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) or(tab_szablony_strona_zbiorcza[nazwa_szablonu]) or(tab_szablony_strona_start[nazwa_szablonu]) )then return nil,false;end; return true,true; end, nil, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) for _,nazwa_modulu_lua in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_ramek_lua)do if((nazwa_szablonu==nazwy_np_modul.Module..":"..nazwa_modulu_lua) or(mw.ustring.match(nazwa_szablonu,'^'..nazwy_np_modul.Module..":"..techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_modulu_lua).."/")) )then return nil,false; end; end; return true,true; end,nil,nil,nil,nil,nil,nil, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kodtabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) return true,true; end); czy_szablon_wszystko=czy_szablon_wszystko or ((jaki_wynik==nil)and true or jaki_wynik); if(not wynik)then local kodowanie_szablonowe; kodowanie_szablonowe,max=p.ARCHIWLubSTARE(szablon,"ARCHIW",max,tablica_analizy_obiektow_strony_dany_modul) return kodowanie_szablonowe; end; elseif((obiekt=="STARE")or(obiekt=="ARCHIW"))then return nil,true; elseif((obiekt=="ZMIENNA")and(not czy_z_kluczem))then local klucz=mw.ustring.match(szablon,"^%{%{%{%s*klucz(%d*)%s*%|.*%}%}%}$") or mw.ustring.match(szablon,"^%{%{%{%s*klucz(%d*)%s*%}%}%}$"); if(klucz)then if((klucz=="")or(mw.ustring.match(klucz,"^[1-9]%d*$")))then local kodowanie_szablonowe; kodowanie_szablonowe,max=p.ARCHIWLubSTARE(szablon,"ARCHIW",max,tablica_analizy_obiektow_strony_dany_modul) return kodowanie_szablonowe; end; end; end; return szablon; end); if(czy_szablon_wszystko)then local frame=mw.getCurrentFrame(); nazwa_szablonu=frame:preprocess(nazwa_szablonu); end; return nazwa_szablonu,true; end; function p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu) local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local nazwy_szablonowe_kolidacja=stronicowyparser_obiekty_modul.nazwy_szablonowe_kolidacja; if(nazwy_szablonowe_kolidacja[nazwa_szablonu])then return nazwa_szablonu,false;end; local nazwa_linku=stronicowyparser_obiekty_modul.przekierowania_szablonowe_linkowe_inteligentne_inne[nazwa_szablonu]; if(nazwa_linku)then return nazwa_linku,true;end; local litery_przestrzeni_kolidacja=stronicowyparser_obiekty_modul.litery_przestrzeni_kolidacja; local link,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a?)(%d?)$"); if((link)and(link=="L"))then if((ustep=="")or(ustep=="u"))then prze=litery_przestrzeni_kolidacja[prze] or prze; local przez_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze]; if(przez_literowa)then local nazwa="Link"..przez_literowa..((ustep~="")and "Ustęp" or "")..dwa; return nazwa,true; end; if(ustep=="")then if(prze=="u")then return "LinkUstęp"..dwa,true;end; if(prze=="o")then return "LinkOgólne"..dwa,true;end; end; else local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[prze]; if(projektowe_literowe)then ustep=litery_przestrzeni_kolidacja[ustep] or ustep; local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[ustep]; if(prze_literowa)then return "Link"..projektowe_literowe..prze_literowa..dwa,true; end; end; end; return nazwa_szablonu,false; else local link,projekt,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a)(%a?)(%d?)$"); if((link)and(link=="L"))then if((ustep=="")or(ustep=="u"))then local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[projekt]; if(projektowe_literowe)then prze=litery_przestrzeni_kolidacja[prze] or prze; local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze]; if(prze_literowa)then return "Link"..projektowe_literowe..prze_literowa..((ustep~="") and "Ustęp" or "")..dwa,true; end; end; end; end; return nazwa_szablonu,false; end; end; function p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa,tablica_danych_parametrow_szablonu_strony,kod,czy_liczyc_przekierowanie) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku; end; end; end; nazwa=(not czy_liczyc_przekierowanie)and p.SzablonyPrzekierowanioweInteligentne(nazwa) or nazwa; local function AnalizaSzablonowaLinku() local nazwa,dwa=mw.ustring.match(nazwa,"^Link(%a+)(2?)$"); if(not nazwa)then return;end; if(dwa=="")then dwa=nil;else dwa=true;end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); ---- local tab_przestrzen=stronicowyparser_obiekty_modul.kody_szablony_linkowe_przestrzenne; local tab_jezyk=stronicowyparser_obiekty_modul.kody_szablony_linkowe_dialektu; local tab_projektowe=stronicowyparser_obiekty_modul.kody_szablony_linkowe_projektowe; ---- local nazwa_nowa,ustep_nowa=mw.ustring.match(nazwa,"^(.+)(Ustęp)$") nazwa=nazwa_nowa or nazwa; local czy_ustep=ustep_nowa and true or false; local przestrzen=mw.ustring.match(nazwa,"^(%u%l+)$"); if(przestrzen)then local przestrzenne=tab_przestrzen[przestrzen]; if(przestrzenne)then return {przestrzenne[1],przestrzenne[2],nil,czy_ustep,dwa,}; end; end; ---- local jezyk,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)$"); if(jezyk and przestrzen)then local jezykowe=tab_jezyk[jezyk];local przestrzenne=tab_przestrzen[przestrzen]; if(jezykowe and przestrzenne)then return {przestrzenne[1],przestrzenne[2],jezykowe,czy_ustep,dwa,}; end; ---- local projektowe=tab_projektowe[jezyk]; if(projektowe and przestrzenne)then return {przestrzenne[1],projektowe or przestrzenne[2],czy_ustep,nil,dwa,}; end; end; ----- local jezyk,projekt,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)(%u%l+)$"); if(jezyk and projekt and przestrzen)then local jezykowe=tab_jezyk[jezyk];local projektowe=tab_projektowe[projekt];local przestrzenne=tab_przestrzen[przestrzen] if(jezykowe and projektowe and przestrzenne)then return {przestrzenne[1], projektowe or przestrzenne[2],jezykowe,czy_ustep,dwa,} end; local projektowe=tab_projektowe[jezyk..projekt]; if(projektowe and przestrzenne)then return {przestrzenne[1],projektowe or przestrzenne[2],nil,czy_ustep,dwa,}; end; end; return nil; end; local wynik=AnalizaSzablonowaLinku(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[0])then tablica_danych_parametrow_szablonu_strony[0]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku=wynik; end; return wynik; end; function p.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy; end; end; end; --local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); --local tab_szablony_inteligentne=stronicowyparser_obiekty_modul.kody_inne_szablony_linkowe_inteligentne; local nazwa_zamiast_linku; nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); if(nazwa_szablonu=="Sekcja referencyjna")then local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2]; if(nazwa)then return nazwa;end; local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu[1]; local parametry_modul=require("Module:Parametry"); local czy_strona=parametry_modul.CzyTak(strona) and true or false; if(not czy_strona)then local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](); end; local ustep=tabela_parametrow_szablonu["ustęp"]; local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna"); local czy_ustep=parametry_modul.CzyTak(ustep); if(not czy_strona)then czy_ustep=not czy_ustep;end; nazwa_zamiast_linku=sekcja_referencyjna_modul.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep); elseif(nazwa_szablonu=="Link wewnętrzny")then nazwa_zamiast_linku=tabela_parametrow_szablonu["nazwa"] or (tabela_parametrow_szablonu["strona"] or "")..(tabela_parametrow_szablonu["nagłówek"]and("#"..tabela_parametrow_szablonu["nagłówek"]) or "") elseif(nazwa_szablonu=="LinkOgólne")then nazwa_zamiast_linku=tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1]; elseif(nazwa_szablonu=="SpisTreści")then local nazwa=(tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[3] or tabela_parametrow_szablonu["artykuł"] or tabela_parametrow_szablonu[1]); if(nazwa)then local dodatek=tabela_parametrow_szablonu["dodatek"] or tabela_parametrow_szablonu[4]; if(dodatek)then dodatek=" "..dodatek;else dodatek="";end; nazwa_zamiast_linku=nazwa..dodatek; end; elseif(nazwa_szablonu=="LinkURL")then local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu["n"]; if(nazwa)then nazwa_zamiast_linku=nazwa; else local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu["s"]; nazwa_zamiast_linku=strona; end; end; if((nazwa_zamiast_linku)and(nazwa_zamiast_linku~=""))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[-7])then tablica_danych_parametrow_szablonu_strony[-7]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=nazwa_zamiast_linku; end; end; return nazwa_zamiast_linku; end; function p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy; end; end; end; nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy; local tab_spis=inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]; if(tab_spis)then local czy_true=tab_spis[1]; local parametr;local numer; if(czy_true)then parametr=tabela_parametrow_szablonu[tab_spis.numer_link]; else parametr=tabela_parametrow_szablonu[tab_spis.link]; local numer=tabela_parametrow_szablonu[tab_spis.numer]; parametr=(parametr and numer)and (numer.." "..parametr) or (parametr); end; if((parametr)and(parametr~=""))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[-8])then tablica_danych_parametrow_szablonu_strony[-8]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=parametr; end; end; return parametr; end; return nil; end; function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA) local numer; if((obiekt)and(kod))then if(obiekt=="SZABLON")then numer=-2; elseif(obiekt=="LINKW")then numer=-3; elseif(obiekt=="LINKZ")then numer=-4; end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod[1],tablica_danych_parametrow_szablonu_strony_numer_kod[2],tablica_danych_parametrow_szablonu_strony_numer_kod[3],tablica_danych_parametrow_szablonu_strony_numer_kod[4],tablica_danych_parametrow_szablonu_strony_numer_kod[5]; end; end; end; end; local local1,local2,local3,local4,local5=p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA); if((obiekt)and(kod))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[numer])then tablica_danych_parametrow_szablonu_strony[numer]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; tablica_danych_parametrow_szablonu_strony_numer[kod]={local1,local2,local3,local4,local5,}; end; end; return local1,local2,local3,local4,local5; end; function p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA) ---- local DekodowanieTekstu=p.DekodowanieTekstu(nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci); ---- local parametry_modul=require("Module:Parametry"); local wiki_modul=require("Module:Wiki"); local pozycja_artykulu=nil;local nazwa=nil; local czy_tabela_do_parsowania_artykulu=parametry_modul.TypeTable(wyzyskane_wywolanie_szablonu_spis_tresci); if(not czy_tabela_do_parsowania_artykulu)then pozycja_artykulu,nazwa=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)|(.+)%]%]$"); if(not((pozycja_artykulu)and(nazwa)))then pozycja_artykulu=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)%]%]$"); end; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy") local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_spisu_tresci_analizowana=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci); local function Artykul(strona,parametry--[[_ref]],naglowek--[[_ref]]) ---- --local parametry=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](strona,true); --local naglowek=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](strona,true); ---- strona=html_modul["NazwaStronyAdresu"](strona,true); strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",}; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_spisu_tresci_analizowana,}; ---- local tabela_nazw_strona={}; local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw_strona); local nazwa_przestrzeni_ksiazki_strony=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw_strona); local nazwa_ksiazki_strony=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw_strona) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw_strona); local nazwa_artykulu_strony=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw_strona); --if((tab_nazwa_spisow_przekierowaniowych)and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])and --[[else]] if(tab_nazwa_spisow_przekierowaniowych)then local techniczne_modul=require("Module:Techniczne"); local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(strona); local function DaneRozwazone(strona_przekierowania,inna_ksiazka,czy_przekierowanie) local tabela_nazw_przekierowanie={}; ---- local nazwa_przestrzeni_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_przestrzeni_ksiazki_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_ksiazki_strony_przekierowania=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie) or nazwy_modul["NAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_artykulu_strony_przekierowania=((not inna_ksiazka) and (nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie)) or (nazwa_artykulu_strony)); ---- local tabela_nazw_adresu_przekierowania={}; local parametry_przekierowania=((not inna_ksiazka) and (html_modul["ParametryStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil); local naglowek_przekierowania=((not inna_ksiazka) and (html_modul["NagłówekStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil); ---- if((nazwa_przestrzeni_strony_przekierowania==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony_przekierowania==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony_przekierowania==nazwa_ksiazki))then local czy_inne_ksiazka=((inna_ksiazka)or(((nazwa_przestrzeni_strony~=nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki_strony~=nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki_strony~=nazwa_ksiazki)))); if(czy_inne_ksiazka)then if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]={}; end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony]={}; end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]=true; end; end; return {nazwa_artykulu_strony_przekierowania,parametry_modul.CzyTak(parametry_przekierowania) and parametry_przekierowania or nil,parametry_modul.CzyTak(naglowek_przekierowania) and naglowek_przekierowania or nil,{czy_inne_ksiazka and {nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,inna_ksiazka,true,czy_przekierowanie,} or nil,czy_przekierowanie and nazwa_artykulu_strony or nil,czy_przekierowanie and parametry or nil,czy_przekierowanie and naglowek or nil,} or nil,}; else if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony_przekierowania,nazwa_przestrzeni_ksiazki_strony_przekierowania,nazwa_ksiazki_strony_przekierowania,true,false,czy_przekierowanie,},nazwa_artykulu_strony_przekierowania,parametry_przekierowania,naglowek_przekierowania,} or nil,}; else return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony; end; end; end; if(strona_przekierowania)then return DaneRozwazone(strona_przekierowania,nil,true); else if((tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]) and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]))then return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,true,true,false,},nil,nil,nil,},}; end; local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,""); local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki); if(strona_przekierowania)then return DaneRozwazone(strona_przekierowania,true,false); end; end; end; if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then return {nazwa_artykulu_strony,parametry,naglowek,}; end return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony; end; --- local pudelko_modul=require("Module:Pudełko"); local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"](); local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"](); local function DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,parametry_ref,naglowek_ref,nazwa,czy_link,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if(not mw.ustring.match(pozycja_artykulu,"[{}%[%]|]"))then if((czy_nie_dwukropek)and(((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))or (parametry_modul.CzyTak(klucz_projektu)and((klucz_projektu==kod_jezyka_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu)or(klucz_projektu==kod_jezyka_tego_projektu..":"..kod_projektu_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu..":"..kod_jezyka_tego_projektu))) or(((kod_jezyka)and(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu)and(kod_projektu==kod_projektu_tego_projektu))) or ((kod_jezyka)and(not kod_projektu)and(kod_jezyka==kod_jezyka_tego_projektu))or((kod_projektu)and(not kod_jezyka)and(kod_projektu==kod_projektu_tego_projektu))))then ---- pozycja_artykulu=DekodowanieTekstu(pozycja_artykulu,2,nil); parametry_ref=DekodowanieTekstu(parametry_ref,2,nil); naglowek_ref=DekodowanieTekstu(naglowek_ref,2,nil); ---- local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:"); local tabela_nazw_adresu_artykulu={}; parametry_ref=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); naglowek_ref=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); pozycja_artykulu=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); ---- local czy_pozycja_artykulu=pozycja_artykulu; local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(pozycja_artykulu,parametry_ref,naglowek_ref); if(pozycja_artykulu)then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2],pozycja_artykulu[3],pozycja_artykulu[4]),nazwa,nil,nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else local nazwy_modul=require("Module:Nazwy"); --local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=czy_pozycja_artykulu,}; strona=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwa_przestrzeni_strony==nazwy_np_modul.Main) or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikijunior) or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikibooks) or(nazwa_przestrzeni_strony==nazwy_np_modul.User) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; elseif( czy_link or parametry_modul.CzyTak(klucz_projektu) or parametry_modul.CzyTak(kod_jezyka) or parametry_modul.CzyTak(kod_projektu) or ((nazwa_przestrzeni_strony~=nazwy_np_modul.Category)and(nazwa_przestrzeni_strony~=nazwy_np_modul.File)) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; else local pozycja_artykulu_stara=pozycja_artykulu; local pudelko_modul=require("Module:Pudełko"); local kod_jezyka=kod_jezyka or pudelko_modul["Kod języka tego projektu"](); local kod_projektu=kod_projektu or pudelko_modul["Kod projektu tego projektu"](); local wiki_modul=require("Module:Wiki"); local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu); pozycja_artykulu=DekodowanieTekstu(pozycja_artykulu,2,nil); local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:"); local nazwa_strony_linku; local uzyskana_nazwa_strony_linku; if(czy_nie_dwukropek)then nazwa_strony_linku=pozycja_artykulu; else local kod_jezyka_poczatkowy, kod_projektu_poczatkowy; nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(pozycja_artykulu,kod_jezyka_koncowy,kod_projektu_koncowy); uzyskana_nazwa_strony_linku=nazwa_strony_linku; end; ---- parametry_ref=DekodowanieTekstu(parametry_ref,2,nil); naglowek_ref=DekodowanieTekstu(naglowek_ref,2,nil); ---- local html_modul=require("Module:Html"); local tabela_nazw_adresu={}; local parametry_strony=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); local naglowek_strony=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw_artykul={}; local nazwa_przestrzeni=nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul); local nazwa_kanoniczna_przestrzeni; local biezaca_wiki; if(tabela_nazw_artykul.czy_aktualna_wiki==nil)then biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,}; else biezaca_wiki=tabela_nazw_artykul.czy_aktualna_wiki; end; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(biezaca_wiki)then local czy_wyswietlic_link=((uzyskana_nazwa_strony_linku)and(uzyskana_nazwa_strony_linku~=pozycja_artykulu))and true or false; if(nazwa_przestrzeni)then if((nazwa_przestrzeni==nazwy_np_modul.Main) or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior) or(nazwa_przestrzeni==nazwy_np_modul.Wikibooks) or(nazwa_przestrzeni==nazwy_np_modul.User) )then local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(nazwa_strony_linku); if(pozycja_artykulu)then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2] or parametry_strony,pozycja_artykulu[3] or naglowek_strony,pozycja_artykulu[4]),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else nazwa_strony_linku=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; elseif( czy_link or (nazwa_strony_linku~=pozycja_artykulu) or ((nazwa_przestrzeni~=nazwy_np_modul.Category)and(nazwa_przestrzeni~=nazwy_np_modul.File)) )then nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul) return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul); nazwa_kanoniczna_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}; if(nazwa_kanoniczna_przestrzeni)then if((nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Main) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Wikijunior) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Project) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.User) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},4,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},5,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; --- local czy_pozycja_artykulu=nil; if((not pozycja_artykulu)and(not czy_tabela_do_parsowania_artykulu))then local link_szablon=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^({{[^{}]+}})$"); if(link_szablon)then local szablonowe_modul=require("Module:Szablonowe"); return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(link_szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); if(nazwa_szablonu=="SpisTreści")then local tabela_nazw_spis_rzeczy={}; pozycja_artykulu=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; ------ local nazwa_ksiazki=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); if(not nazwa_ksiazki)then pozycja_artykulu=DekodowanieTekstu(pozycja_artykulu,2,nil); local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); local dodatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); if((nazwa)or(dodatek))then local nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or ""); ------ return {pozycja_artykulu,nazwa,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else return {pozycja_artykulu,nil,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else local adres=nazwa_spisu_tresci..((pozycja_artykulu~="")and ("/"..pozycja_artykulu)or ""); adres=p.DekodowanieNazwySzablonu(adres,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres; local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); if((nazwa)or(dodatek))then nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or ""); end; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(adres); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(adres,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow); end; elseif(nazwa_szablonu=="Sekcja referencyjna")then local tabela_nazw_sekcja_referencyjna={}; local strona=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); local podstrona=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); ----- local strona_wolumin; local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); if(strona)then strona,strona_wolumin=DekodowanieTekstu(strona,nazwa and 2 or 3,nil,(not nazwa) and true or nil); end; podstrona=podstrona and DekodowanieTekstu(podstrona,2,nil) or podstrona; ---- local ustep=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); local od_malej=p.SpisRzeczySzablon(nazwa_szablonu,5,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); local od_duzej=p.SpisRzeczySzablon(nazwa_szablonu,6,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); ---- local nazwa_przestrzeni_nazw=p.SpisRzeczySzablon(nazwa_szablonu,7,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); local nazwa_jednostki=p.SpisRzeczySzablon(nazwa_szablonu,8,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); ---- local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna"); ---- if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then ---- local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,nil,true,strona_wolumin); ---- local html_modul=require("Module:Html"); local tabela_nazw_adresu={}; local parametry_ref=html_modul["ParametryStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu); local naglowek_ref=html_modul["NagłówekStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu); ---- local strona_ref=html_modul["NazwaStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu); ----- return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona_ref,parametry_ref,naglowek_ref),nazwa_artykulu,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false,(((strona)and(not nazwa)) and true or nil); else local pudelko_modul=require("Module:Pudełko"); local pelna_nazwa_jednostki=pudelko_modul["Pełna nazwa jednostki"]( { args={ ["nazwa przestrzeni nazw"]=nazwa_przestrzeni_nazw, ["nazwa jednostki"]=nazwa_jednostki, } },0); local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,pelnanazwajednostki,nil,strona_wolumin); local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(strona_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(strona_artykulu,nil,nil,nazwa_artykulu,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow),(((strona)and(not nazwa)) and true or nil); end; elseif(nazwa_szablonu=="Link wewnętrzny")then local pozycja_artykulu=tabela_parametrow_szablonu["strona"]; if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local nazwa=tabela_parametrow_szablonu["nazwa"]; local naglowek=tabela_parametrow_szablonu["nagłówek"]; local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"]; local kod_jezyka=tabela_parametrow_szablonu['kod języka']; local kod_projektu=tabela_parametrow_szablonu["kod projektu"]; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,naglowek,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) else local nazwa_szablonu_nowa,dwa=mw.ustring.match(nazwa_szablonu,"^(LinkOgólne)(2?)$"); if(nazwa_szablonu_nowa)then local pozycja_artykul; local strona=tabela_parametrow_szablonu[1]; if(not strona)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local czy_dwa=(dwa~="")and true or false; local nazwa=(not czy_dwa) and tabela_parametrow_szablonu[2] or nil; local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"]; local kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"]; local kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"]; local miano_przestrzeni_nazw=tabela_parametrow_szablonu["miano przestrzeni nazw"] or tabela_parametrow_szablonu["przestrzeń"] or tabela_parametrow_szablonu["f"]; if(miano_przestrzeni_nazw)then pozycja_artykulu=((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw..":") or "")..strona; else pozycja_artykulu=strona; end; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) else local dane_szablonu_linku=p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod,true); if(dane_szablonu_linku)then local pozycja_artykulu=tabela_parametrow_szablonu[1]; if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local nazwa_przestrzeni=dane_szablonu_linku[1]; local pozycja_artykulu=(((nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":") or "")..tabela_parametrow_szablonu[1]; local nazwa=((not dane_szablonu_linku[4])and(not dane_szablonu_linku[5])) and (tabela_parametrow_szablonu[2]) or nil; local klucz_projektu;local kod_jezyka;local kod_projektu; if((not dane_szablonu_linku[2])and(not dane_szablonu_linku[3]))then klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"]; kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"]; kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"]; else kod_jezyka=dane_szablonu_linku[3]; kod_projektu=dane_szablonu_linku[2]; end; local czy_nie_dwukropek; if(nazwa_przestrzeni=="")then czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); elseif((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))then czy_nie_dwukropek=true; else czy_nie_dwukropek=false; end; return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow); elseif((__FUNKCJA)and(__FUNKCJA(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)))then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},true; end; end; end; end); else local nazwa_strony=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s*%]$"); if(nazwa_strony)then nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nil,nil,nil, nazwa_strony,"url",},6,false,nil,false; else local nazwa_strony,nazwa_linku=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s+([^%[%]]-)%s*%]$"); if((nazwa_strony)and(nazwa_linku))then nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nazwa_linku,nil,nil, nazwa_strony,"url",},6,false,nil,false; end; end; end; elseif(not czy_tabela_do_parsowania_artykulu)then local specjalne_modul=require("Module:Specjalne"); if(specjalne_modul.CzyInterwiki(wyzyskane_wywolanie_szablonu_spis_tresci))then return nil,nil,false,nil,true; end; local parametry_modul=require("Module:Parametry"); --pozycja_artykulu=mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=pozycja_artykulu,[2]="tak",}); local czy_pozycja_artykulu=mw.ustring.match(pozycja_artykulu,"^/(.-)/+$") or mw.ustring.match(pozycja_artykulu,"^/(.+)$"); if(czy_pozycja_artykulu)then if(parametry_modul["CzyTakCiąg"](czy_pozycja_artykulu))then czy_pozycja_artykulu=pelna_nazwa_spisu_tresci_analizowana.."/"..czy_pozycja_artykulu; return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(czy_pozycja_artykulu,nil,nil,nazwa,true,true,nil,nil,nil,nil); else pozycja_artykulu=nil; return {pozycja_artykulu,nazwa},1,false,nil,false; end; else local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,false,czy_nie_dwukropek,nil,nil,nil,nil); end; else local pozycja_artykulu=wyzyskane_wywolanie_szablonu_spis_tresci[1]; local nazwa=wyzyskane_wywolanie_szablonu_spis_tresci[2]; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,nil); end; end; return p; 6ayawx87c4s5y6w6jistlijcu6we376 560247 560245 2026-10-28T18:12:41Z Persino 2851 560247 Scribunto text/plain local p={}; function p.SpisRzeczySzablon(nazwa_szablonu,numer,tabela_parametrow_szablonu,tabela_nazw_spisu_rzeczy_szablon,kod_num) local numer_parametru; if(not tabela_nazw_spisu_rzeczy_szablon.numer_parametru)then local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tab_spisu_rzeczy; if(not kod_num)then tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu; else tab_spisu_rzeczy=stronicowyparser_obiekty_modul.szablony_linkowe_spisu_rzeczy; end; numer_parametru=tab_spisu_rzeczy[nazwa_szablonu]; if(not numer_parametru)then return nil;end; tabela_nazw_spisu_rzeczy_szablon.numer_parametru=numer_parametru; else numer_parametru=tabela_nazw_spisu_rzeczy_szablon.numer_parametru; end; local indeks=numer_parametru[numer]; for p,_ in ipairs(indeks) do local parametr=tabela_parametrow_szablonu[indeks[p]]; if(parametr)then return parametr; end; end; return nil; end; function p.LiczonyHNumer() local tab={}; local h_numer_zapamietane=nil; --local ostatnie_poprz=nil; return function(h_numer,h_numer_nowe) if(h_numer==0)then if(#tab>0)then local h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]); return ostatnie_poprz; end; return nil; elseif(h_numer<0)then h_numer=math.abs(h_numer); end; local ostatnie;---=tab[h_numer]; local max_h_numer=nil;local min_h_numer=nil; local ostatnie_max;local ostatnie_min;local ostatnie_ost;local ostatnie_ost_prawda=true; for i=#tab,1,-1 do ---- local h_numer_pos,ostatnie_pos=unpack(tab[i]); if(ostatnie_ost_prawda)then if(h_numer_pos==h_numer)then ostatnie_ost=ostatnie_pos; break; end; ostatnie_ost_prawda=nil; end; ---- if((h_numer>h_numer_pos)and((max_h_numer or 0)<h_numer_pos))then if((h_numer_pos or 0)<=(max_h_numer or h_numer))then ostatnie_max=ostatnie_pos; max_h_numer=h_numer_pos; end; end; end; if(ostatnie_ost)then ostatnie=ostatnie_ost; else ostatnie=(ostatnie_max or 0)+1; end; local h_numer_poprz,ostatnie_poprz=nil,nil; if(#tab>0)then h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]); end; if(ostatnie>(ostatnie_poprz or 0)+1)then ostatnie=(ostatnie_poprz or 0)+1; end; table.insert(tab,{h_numer,ostatnie,}); if(h_numer_nowe)then local roznica=h_numer_nowe-ostatnie; if(roznica==0)then return ostatnie; end; local tab2={}; for i,tabs in pairs(tab)do local name,value=unpack(tabs); tab2[i]={name,value+roznica,}; end; tab=tab2; return h_numer_nowe; end; return ostatnie; end; end; function p.PoziomAdresu(adres) local lens=#adres; local i=1; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; end; end; return i; end; function p.NazwaNadStrony(adres,numer) if((numer)and(numer==0))then return nil;end; if((numer)and(numer<1)or(numer~=math.floor(numer)))then return nil;end; local lens=#adres; local i=1; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; end; if(i==numer)then return mw.ustring.sub(adres,1,p-1); end; end; return adres; end; function p.SubNazwaNadStrony(adres,numer,krok) if((not numer)or(numer<1)or(numer~=math.floor(numer)))then return adres;end; krok=krok or 1; if((krok<1)or(krok~=math.floor(krok)))then return adres;end; local lens=#adres; local i=1; local a=nil;local b=nil; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; if(i==numer)then if(not a)then a=p+1;end; end; if(i==numer+krok)then if(not b)then b=p-1;break;end; end; end; end; if(not a)then a=1;end; if(not b)then b=lens;end; return mw.ustring.sub(adres,a,b); end; function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki) local nazwa_przestrzeni=self.args["nazwa przestrzeni nazw"]; local nazwa_jednostki=self.args["nazwa jednostki"]; if(((nazwa_przestrzeni)and(nazwa_jednostki))or((nazwa_przestrzeni)and(not nazwa_jednostki))or((not nazwa_przestrzeni)and(nazwa_jednostki)))then local html_modul=require("Module:Html"); if(nazwa_jednostki)then local tabela_nazw_adresu={}; self.naglowek=html_modul["NagłówekStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu); self.parametry=html_modul["ParametryStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu); end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=((nazwa_przestrzeni)and ((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "") or nazwy_modul["NAZWAPRZESTRZENI"]()); local nazwa_jednostki=(((nazwa_jednostki)and(nazwa_jednostki~=""))and nazwa_jednostki or nazwy_modul["NAZWASTRONY"]()); local pelna_nazwa_jednostki=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; pelna_nazwa_jednostki=html_modul.DecodeHtml(pelna_nazwa_jednostki,true); pelna_nazwa_jednostki=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](pelna_nazwa_jednostki); --- local techniczne_modul=require("Module:Techniczne"); local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu); pelna_nazwa_jednostki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_jednostki,[2]=nazwa_modulu,}; pelna_nazwa_jednostki=nazwy_modul["PEŁNANAZWASTRONY"](pelna_nazwa_jednostki); local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_jednostki); if(strona)then pelna_nazwa_jednostki=strona;end; local nazwy_modul=require("Module:Nazwy"); self.nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_jednostki); self.nazwa_przestrzeni_woluminu=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_jednostki); self.nazwa_woluminu=(self.nazwa_przestrzeni_woluminu~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_jednostki) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_jednostki); self.nazwa_podstrony_woluminu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_jednostki); self.parametry_woluminu=false; local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[self.nazwa_przestrzeni]; if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return;end; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[self.nazwa_przestrzeni_woluminu]; if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return;end; local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[self.nazwa_woluminu]; if(not tab_lista_artykulow_w_ksiazce)then return; end; local oryginalna_ksiazka=tab_lista_artykulow_w_ksiazce.adres_woluminu_bazowego_spisu_rzeczy; if(oryginalna_ksiazka)then self.nazwa_przestrzeni=oryginalna_ksiazka[1]; self.nazwa_przestrzeni_woluminu=oryginalna_ksiazka[2]; self.nazwa_woluminu=oryginalna_ksiazka[3]; end; else local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; self.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; self.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; self.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; self.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; self.parametry_woluminu=true; end; end; function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local self_tab; if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu))then if((self.parametry_woluminu)and((not tabela_listy_danych_analizy_ksiazki)or(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then if(not tabela_listy_danych_analizy_ksiazki)then self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki); end; if((not self_tab)or((self_tab)and(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki; local tab_lista_artykulow_w_ksiazce=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki; local tab_lista_zmiennych_w_artykule=tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu; return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; end; end; end; if((not self_tab)or(not tabela_listy_danych_analizy_ksiazki))then self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki); end; local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni or((not czy_podana) and self_tab.nazwa_przestrzeni_podana or self_tab.nazwa_przestrzeni)]; if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return nil,nil,nil,nil,nil; end; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[nazwa_przestrzeni_ksiazki or((not czy_podana) and self_tab.nazwa_przestrzeni_woluminu_podana or self_tab.nazwa_przestrzeni_woluminu)]; if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,nil,nil,nil;--[[--Do poprawienia--]] end; local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki or((not czy_podana) and self_tab.nazwa_woluminu_podana or self_tab.nazwa_woluminu)]; if(not tab_lista_artykulow_w_ksiazce)then return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,nil,nil; end; local tab_lista_zmiennych_w_artykule=tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu and tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu[nazwa_artykulu or ((not czy_podana) and self_tab.nazwa_podstrony_woluminu_podana or self_tab.nazwa_podstrony_woluminu)] or nil; return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; end; function p.AnalizujArgumentySzablonu(self,frame) local parametry_modul=require("Module:Parametry"); self.args=parametry_modul.PobierzArgsParametry(frame,true); end; function p.Args(self) return self.args; end; function p.Self(self,tabela_listy_danych_analizy_ksiazki) local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local self_tab={}; self_tab.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; self_tab.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; self_tab.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; self_tab.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; self_tab.nazwa_przestrzeni_podana=self.nazwa_przestrzeni; self_tab.nazwa_przestrzeni_woluminu_podana=self.nazwa_przestrzeni_woluminu; self_tab.nazwa_woluminu_podana=self.nazwa_woluminu; self_tab.nazwa_podstrony_woluminu_podana=self.nazwa_podstrony_woluminu; return self_tab,tabela_listy_danych_analizy_ksiazki; end; function p.KompletnaNazwaWoluminu(self,frame) return ((self.nazwa_przestrzeni~="")and(self.nazwa_przestrzeni..":") or "")..((self.nazwa_przestrzeni_woluminu~="")and (self.nazwa_przestrzeni_woluminu.."/") or "")..self.nazwa_woluminu end; function p.NazwaPodStronyWoluminu(self,frame) return self.nazwa_podstrony_woluminu..(self.parametry and ("?"..self.parametry) or "")..(self.naglowek and ("#"..self.naglowek) or ""); end; function p.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki_w_bazie,przekierowanie_w_bazie,naglowek,ksiazka,analizowana) local stronicowyparser_modul=require("Module:StronicowyParser"); local nazwy_modul=require("Module:Nazwy"); local czy_z_nazwa_ksiazki=ksiazka and (not analizowana) and pelna_nazwa_ksiazki_w_bazie; local pelna_nazwa_ksiazki=(czy_z_nazwa_ksiazki and (pelna_nazwa_ksiazki_w_bazie[4])) and nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki_w_bazie[1],pelna_nazwa_ksiazki_w_bazie[2],pelna_nazwa_ksiazki_w_bazie[3],"") or nil; local artykul=czy_z_nazwa_ksiazki and not pelna_nazwa_ksiazki_w_bazie[5] and p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,naglowek) or artykul; return ksiazka and ((((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki~="")) and(pelna_nazwa_ksiazki)or stronicowyparser_modul["AktualnaKsiążka"](mw.getCurrentFrame())).."/"..artykul) or artykul; end; function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki) p:AnalizujArgumentySzablonu(frame); p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); local tab_lista_artykulow_w_ksiazce_spis=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end; local tab_naglowkow={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; local czy_centrowany=tab_lista[1][2][4]; if((poziom_rozdzialu)and(poziom_rozdzialu>0)and(not czy_centrowany))then table.insert(tab_naglowkow,rozdzial); end; end; self.tablica_napisowa_wprowadzenia_tekstu=tab_naglowkow; return tab_naglowkow; end; function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki) self.numer_pomiedzy_napisu_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1; self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end; self.len_tablicy_napisowej_wprowadzenia_tekstu=self.len_tablicy_napisowej_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); self.reszta_pomiedzy_napisu_wprowadzenia_tekstu=math.fmod(self.numer_pomiedzy_napisu_wprowadzenia_tekstu,self.len_tablicy_napisowej_wprowadzenia_tekstu-2); local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_pomiedzy_napisu_wprowadzenia_tekstu+2]; return artykul; end; function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki) self.numer_losowy_napis_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1; self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end; self.len_tablicy_napisowej_wprowadzenia_tekstu=self.len_tablicy_napisowej_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); self.reszta_losowy_napis_wprowadzenia_tekstu=math.fmod(self.numer_losowy_napis_wprowadzenia_tekstu,self.len_tablicy_napisowej_wprowadzenia_tekstu); local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_losowy_napis_wprowadzenia_tekstu+1]; return artykul; end; function p.PierwszyNapisWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); return self.tablica_napisowa_wprowadzenia_tekstu[1]; end; function p.OstatniNapisWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); return self.tablica_napisowa_wprowadzenia_tekstu[#(self.tablica_napisowa_wprowadzenia_tekstu)]; end; function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); self.len_tablicy_napisowej_wprowadzenia_tekstu=self.len_tablicy_napisowej_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); return self.len_tablicy_napisowej_wprowadzenia_tekstu; end; function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame) local tab_naglowkow=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame); local parametry_modul=require("Module:Parametry"); return parametry_modul.IteratorPoNumerowanychElementachTablicy(tab_naglowkow); end; function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly) p:AnalizujArgumentySzablonu(frame); local lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; if(not tab_lista_artykulow_w_ksiazce_spis)then p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); spis_tresci=tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu; inne_spisy=tab_lista_artykulow_w_ksiazce.tab_inne_spisy; dodatkowe_artykuly=tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu; end; if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end; local args=p:Args(); local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykulow=(not czy_naglowek) and {} or nil; local tab_listy_artykulow={}; local tab_listy_artykulow_spis={}; local czy_inne_spisy=false; local html_modul=require("Module:Html"); local nazwa_tabeli_danego_spisu_tresci=args["spis"]; if(nazwa_tabeli_danego_spisu_tresci)then local techniczne_modul=require("Module:Techniczne"); nazwa_tabeli_danego_spisu_tresci=html_modul.DecodeHtml(nazwa_tabeli_danego_spisu_tresci,true); nazwa_tabeli_danego_spisu_tresci=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_tabeli_danego_spisu_tresci); nazwa_tabeli_danego_spisu_tresci=parametry_modul["Odstępy"]{[1]=nazwa_tabeli_danego_spisu_tresci,[2]="tak",}; nazwa_tabeli_danego_spisu_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"](nazwa_tabeli_danego_spisu_tresci,""); local nazwa_ksiazki=p:KompletnaNazwaWoluminu(frame) local nazwa_artykulu=nazwa_ksiazki.."/"..nazwa_tabeli_danego_spisu_tresci; local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_artykulu); if(strona)then local nazwy_modul=require("Module:Nazwy"); nazwa_tabeli_danego_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona); end; end; local czy_dany_spis=nil; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do local poziom_rozdzialu=tab_lista[1][2][1]; local nazwa_spisu=nil; if(((m==1)and(not poziom_rozdzialu))or((m>0)and(poziom_rozdzialu)and(poziom_rozdzialu==1)))then local spis=tab_lista[1]["spis"]; nazwa_spisu=spis and spis[1] or nil; ---- if(not nazwa_tabeli_danego_spisu_tresci)then if(nazwa_spisu)then if(not tab_listy_artykulow["spis"])then tab_listy_artykulow["spis"]={};end; local spis_artykulow=tab_listy_artykulow["spis"]; spis_artykulow[nazwa_spisu]={}; tab_listy_artykulow_spis=spis_artykulow[nazwa_spisu]; czy_inne_spisy=true; else local dodatkowe=tab_lista[1]["dodatkowe"]; if(dodatkowe)then tab_listy_artykulow["dodatkowe"]={}; tab_listy_artykulow_spis=tab_listy_artykulow["dodatkowe"]; czy_inne_spisy=true; end; end; else if(nazwa_spisu)then if(nazwa_spisu==nazwa_tabeli_danego_spisu_tresci)then czy_dany_spis=true; else if(czy_dany_spis)then czy_dany_spis=nil; break; else czy_dany_spis=nil; end; end; end; end; end; if((tab_lista[2])and((not nazwa_tabeli_danego_spisu_tresci)or((nazwa_tabeli_danego_spisu_tresci)and(czy_dany_spis))))then local pomin_pozycje=true; for _,artykul_w_bazie in ipairs(tab_lista[2])do if((not pomin_pozycje)or(not nazwa_spisu))then local czy_table_baza_artykulu=p.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local artykul=czy_table_baza_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; ---- artykul=p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek); ---- if(czy_naglowek or (not tab_artykulow[artykul]))then if(not czy_naglowek)then tab_artykulow[artykul]=true;end; local nazwa=czy_table_baza_artykulu and artykul_w_bazie[1][2] or nil; local przekierowanie=czy_table_baza_artykulu and artykul_w_bazie[1][3] or nil; local pelna_nazwa_ksiazki=czy_table_baza_artykulu and artykul_w_bazie[1][4] or nil; table.insert(tab_listy_artykulow_spis,(nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul); end; else pomin_pozycje=false; end; end; end; end; local stronicowyparser_modul=require("Module:StronicowyParser"); local parametry_modul=require("Module:Parametry"); --local spis_tresci,inne_spisy,dodatkowe_artykuly=nazwa_glownego_spisu,tab_inne_spisy,tab_dodatkowe_artykuly; if((nazwa_tabeli_danego_spisu_tresci)or(((not inne_spisy) or(not parametry_modul["CzySąElementyNumerowaneTablicy"](inne_spisy))) and((not dodatkowe_artykuly) or(not parametry_modul["CzySąElementyNumerowaneTablicy"](dodatkowe_artykuly))) ))then local tablica_spisu_glownego; if(not nazwa_tabeli_danego_spisu_tresci)then if(czy_inne_spisy)then local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci); local tab_listy_artykulow_spis=tab_listy_artykulow["spis"] or {}; tablica_spisu_glownego=tab_listy_artykulow_spis[czy_table_spis_tresci and spis_tresci[1] or spis_tresci]; else tablica_spisu_glownego=tab_listy_artykulow_spis; end; else tablica_spisu_glownego=tab_listy_artykulow_spis; end; local iter_glowny=parametry_modul.IteratorPoNumerowanychElementachTablicy(tablica_spisu_glownego); return function() local wartosc=iter_glowny(); if(not wartosc)then return nil;end; local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc); local artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc or nil); local nazwa=czy_table_wartosc and wartosc[2] or nil; local przekierowanie=czy_table_wartosc and wartosc[3] or nil; local pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil; return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; end; local wykorzystane_spisy={}; local iter_innych_spisow=parametry_modul.IteratorPoNumerowanychElementachTablicy(inne_spisy or {}); local czy_dodatkowe_zaanalizowane=false; local function IteratorMain(wartosc,numer) ---- local tabela_spisu_spis=tab_listy_artykulow["spis"] or {}; local tabela_spisu=tabela_spisu_spis[wartosc]; if(tabela_spisu)then if((wykorzystane_spisy)and(wykorzystane_spisy[wartosc]))then tabela_spisu=nil; else wykorzystane_spisy[wartosc]=true; end; end; local iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {}); ---- local tak=nil; local iter2=nil; local function Iterator() local function IterMain() local wartosc=iter(); local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; if(not wartosc)then if(numer~=0)then return nil; else local function InneSpisy() --if(aa<10)then return nil;end; local spis=iter_innych_spisow(); if(not spis)then if(czy_dodatkowe_zaanalizowane)then return nil;end; local tabela_spisu_spis=tab_listy_artykulow["dodatkowe"]; if((not tabela_spisu_spis)or(not parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_spisu_spis)))then return nil;end; iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu_spis or {}); czy_dodatkowe_zaanalizowane=true; wartosc=iter(); return true; end; local czy_table_spis=parametry_modul.TypeTable(spis); local spis_artykul=czy_table_spis and spis[1] or spis; if(not wykorzystane_spisy[spis_artykul])then wykorzystane_spisy[spis_artykul]=true; local tabela_spisu_spis=tab_listy_artykulow["spis"] or {}; local tabela_spisu=tabela_spisu_spis[spis_artykul]; if(tabela_spisu)then iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {}); wartosc=iter(); if(not wartosc)then return InneSpisy(); end; else return InneSpisy(); end; else return InneSpisy(); end; return true; end; local koniec=InneSpisy(); if(not koniec)then return nil;end; end; end; ---- local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc); artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc); nazwa=czy_table_wartosc and wartosc[2] or nil; przekierowanie=czy_table_wartosc and wartosc[3] or nil; pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil; ---- artykul=p.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul); ---- tak=true; iter2=IteratorMain(artykul,numer+1); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; if(not tak)then local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain(); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; else local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=iter2(); if(not artykul)then tak=nil; local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain(); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; else return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; end; end; return Iterator; end; local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci); return IteratorMain(czy_table_spis_tresci and spis_tresci[1] or spis_tresci,0); end; function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac) local frame=mw.getCurrentFrame(); local nazwy_modul=require("Module:Nazwy"); local techniczne_modul=require("Module:Techniczne"); local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,nil,tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly); for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do if(pelna_nazwa_ksiazki)then if(co_ma_wykrywac)then if((pelna_nazwa_ksiazki[1]==nazwa_przestrzeni)and(pelna_nazwa_ksiazki[2]==nazwa_przestrzeni_ksiazki)and(pelna_nazwa_ksiazki[3]==nazwa_ksiazki))then local czy_przekierowanie=pelna_nazwa_ksiazki[6]; if(czy_przekierowanie)then local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false); if(pelna_nazwa_ksiazki[5])then if(nazwa_artykulu==przekierowanie)then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,1; end; else if((nazwa_artykulu==przekierowanie))then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,2; end; end; else local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local ile,_=techniczne_modul.PoliczZbiory{[1]=nazwa_modulu,tekst=true,}; if(ile>0)then return nazwa_artykulu,3; else return nazwa_artykulu,4; end; end; end; end; else if(not co_ma_wykrywac)then local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false); if(przekierowanie)then if(nazwa_artykulu==przekierowanie)then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,1; else local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); if(nazwa_artykulu==nazwa_artykulu_strony)then return nazwa_artykulu_strony,2; end; end; else local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); if(nazwa_artykulu==nazwa_artykulu_strony)then return nazwa_artykulu,3; end; end; end; end; end; end; function p.ObliczeniaInformacje(self,frame) local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return nil;end; ---- self.tab_artykul={}; ---- for artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki in iterator do table.insert(self.tab_artykul, (nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul); end; self.len_tab_artykul=#self.tab_artykul; return true; end; function p.UsuwanieElementowePoziomoweZTablicy(tablica,numer) if(numer==0)then return tablica,0;end; local s=0; for i=#tablica,1,-1 do local artykul=tablica[i][1]; local numer_artykulu_w_bazie=p.PoziomAdresu(artykul); if(numer~=numer_artykulu_w_bazie)then table.remove(tablica,i); s=s+1; end; end; return tablica,s; end; function p.LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(self,frame,numer) local tab_artykul;local s; if(numer>0)then local parametry_modul=require("Module:Parametry"); tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul); tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer); else tab_artykul=self.tab_artykul; s=0; end; local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1; local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul-2); local artykul=tab_artykul[reszta_pomiedzy_artykul+2]; return artykul; end; function p.LosowaStronaWoluminu(self,frame,numer) local tab_artykul;local s; if(numer>0)then local parametry_modul=require("Module:Parametry"); tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul); tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer); else tab_artykul=self.tab_artykul; s=0; end; local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1; local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul); local artykul=tab_artykul[reszta_pomiedzy_artykul+1]; return artykul; end; function p.RozwijanieZakodowanejNazwySzablonu(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu,nazwa_modulu_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) local szablonowe_modul=require("Module:Szablonowe"); local function RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu,nazwa_modulu_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if((szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow)) or (szablonowe_modul.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow)) )then return nil,false; end; local nazwa_szablonu_temp,czy_powodzenie=p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,nazwa_modulu_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true); if(not czy_powodzenie)then return nil,false; end; nazwa_szablonu=nazwa_szablonu_temp or nazwa_szablonu; return nazwa_szablonu,true; end; nazwa_szablonu=RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu,nazwa_modulu_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; return nazwa_szablonu; end; function p.TOCSilnik(frame,lista_elementow_spisu_tresci, atrybuty,bez_przypisow) if(lista_elementow_spisu_tresci==nil)then return nil;end; local twor_listy=""; local liczba_ulozenia_w_menu_spisu_tresci=lista_elementow_spisu_tresci[1][2]; local poziom=1; local num={}; local nazwa_strony_z_naglowkami=lista_elementow_spisu_tresci.nazwa_strony or ""; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for licznik, element_w_tablicy in ipairs(lista_elementow_spisu_tresci) do local czy_w_tym_szablony=mw.ustring.match(element_w_tablicy[1][1],"{{[^{}]+}}"); local adres=element_w_tablicy[1][1]; local naglowek=element_w_tablicy[1][2]; local czy_przypis=(bez_przypisow and stronicowyparser_obiekty_modul.napisy_wprowadzenia_tekstu_przypisowych[naglowek] or nil); if(czy_w_tym_szablony)then local specjalne_modul=require("Module:Specjalne"); adres=specjalne_modul["PrzetwórzNagłówek"](adres,true); naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,false); end; adres=nazwa_strony_z_naglowkami.."#"..adres; ---- if(licznik==1)then num[#num+1]=1; twor_listy=(atrybuty and '<ul '..atrybuty..'>' or '<ul>')..'<li '..(czy_przypis and ('style="display:none;" ') or "")..'class=\"toclevel-1 tocsection-1\">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; else if(element_w_tablicy[2]==liczba_ulozenia_w_menu_spisu_tresci)then num[#num]=num[#num]+1; twor_listy=twor_listy..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; elseif(element_w_tablicy[2]>liczba_ulozenia_w_menu_spisu_tresci)then num[#num+1]=1; poziom=poziom+1; twor_listy=twor_listy..'<ul><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2]; elseif(element_w_tablicy[2]<liczba_ulozenia_w_menu_spisu_tresci)then local num_length=#num; for i=num_length,num_length-liczba_ulozenia_w_menu_spisu_tresci+element_w_tablicy[2]+1,-1 do table.remove(num); end; num[#num]=num[#num]+1; local roznica_poziomow=liczba_ulozenia_w_menu_spisu_tresci-element_w_tablicy[2]; poziom=poziom-roznica_poziomow; twor_listy=twor_listy..mw.ustring.rep('</li></ul>',roznica_poziomow)..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">' .."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2]; end; end; end; twor_listy=twor_listy..mw.ustring.rep('</li></ul>',liczba_ulozenia_w_menu_spisu_tresci or 0); return twor_listy; end; function p.TOC(frame,lista_elementow_spisu_tresci,czy_nie_aktualny,rozciagnij) local frame=frame or mw.getCurrentFrame(); local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,true); local bez_przypisow=PobierzParametr("bez przypisów"); bez_przypisow=parametry_modul.CzyTak(bez_przypisow); local twor_listy=p.TOCSilnik(frame,lista_elementow_spisu_tresci,nil,bez_przypisow); local toc_czy_tocramka=PobierzParametr("toc");toc_czy_tocramka=parametry_modul.CzyTak(toc_czy_tocramka); if(not toc_czy_tocramka)then local czy_ukryte=twor_listy; local funkcja=PobierzParametr("funkcja") or "UkrytaWikitabelowaListaMenu"; local wysokosc=PobierzParametr("wysokość");wysokosc=parametry_modul.CzyTak(wysokosc) and wysokosc or "43.75rem"; local szerokosc=PobierzParametr("szerokość");szerokosc=parametry_modul.CzyTak(szerokosc)and szerokosc or "100%"; local spis_tresci=PobierzParametr("spis treści");spis_tresci=parametry_modul.CzyTak(spis_tresci)and spis_tresci or "Spis treści"; local bez_not_overflow_x=PobierzParametr("bez pasków poziomych przewijania");bez_not_overflow_x=parametry_modul.CzyTak(bez_not_overflow_x); local spis_artykulu=PobierzParametr("spis artykułu");spis_artykulu=parametry_modul.CzyTak(spis_artykulu); local czy_bez_arginesu_dolnego=PobierzParametr("bez marginesu dolnego");czy_bez_arginesu_dolnego=parametry_modul.CzyTak(czy_bez_arginesu_dolnego); local z_marginesami_ramki=PobierzParametr("z marginesami ramki");local czy_z_marginesami_ramki=parametry_modul.CzyTak(z_marginesami_ramki); local zawartosc_z_marginesami=PobierzParametr("zawartość z marginesami");local czy_zawartosc_z_marginesami=parametry_modul.CzyTak(zawartosc_z_marginesami); local maxwidth=PobierzParametr("max-width"); local czy_maxwidth=((maxwidth)and(maxwidth~="none"))and tonumber(mw.ustring.match(maxwidth,"^(%d+)%a+$")) or nil; local klasa=PobierzParametr("klasa"); --twor_listy='<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or "")..'" style="'..(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding-right:3px;box-sizing:border-box;">'..(czy_ukryte or "<ul></ul>").."</div>"; local klasa_tytulu='tytuł_spisu_treści'; local styl_tytulu='text-align:left;font-size:1em;line-height:1.2em;'..(spis_artykulu and ';border-bottom:#aaa 1px solid' or '')..';white-space:nowrap;min-width:8.125em;'; local styl_spisu=(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding:0.1875em 0.3125em;;box-sizing:border-box;'; local klasa_spisu='toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or ""); local spis=czy_ukryte or "<ul></ul>"; local wikikod_menu='{{Tabela nawigacyjna|styl='..((czy_z_marginesami_ramki) and ("margin:"..z_marginesami_ramki)..";" or "")..((czy_bez_arginesu_dolnego) and 'margin-bottom:0;' or "")..'font-size:1em;background-color:white;line-height:1.2em;width:'..(rozciagnij and "100%" or "auto")..';box-sizing:border-box'..(spis_artykulu and ';border:#aaa 1px solid' or '')..'|styl nagłówka=background-color:white;|styl komórki=background-color:white;padding:0;|styl tytułu='..styl_tytulu..'|klasa tytułu='..klasa_tytulu..'|tytuł='..spis_tresci..'|klasa spisu='..klasa_spisu..'|styl spisu='..styl_spisu..'|spis='..spis..'|funkcja='..funkcja..'|klasa=spis_treści'..(klasa and (" "..klasa) or '')..'}}'; local rozwiniety_wikikod=frame:preprocess(wikikod_menu); return rozwiniety_wikikod; else return (twor_listy and ('\n<div style="color: #000;font-family: \'Linux Libertine\',\'Georgia\',\'Times\',serif;font-weight: normal;font-size:2.2em;border-bottom:1px solid #a2a9b1;line-height: 1.3;margin-top:1em;margin-bottom:0.25em">Spis treści</div>\n<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..'" style="margin-left:1em;font-size:1em;line-height:1.4;">'..twor_listy..'</div>') or ""); end; end; function p.AnalizaSzablonuStronicowegoParsera(self,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,tab_numer,nazwa_modulu_szablonowa,tablica_danych_parametrow_szablonu_strony,__Funkcja, __Funkcja2) if(obiekt~="SZABLON")then return;end; --uzyskano_w_wyniku_parsowania_wywolanie_szablonu=mw.ustring.gsub(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,"\n+",""); --local tablica_obiektow_strony=self.tablica_obiektow_strony[nazwa_modulu]; ---- local szablonowe_modul=require("Module:Szablonowe"); ---- local function GlownaFunkcja(wywolanie,obiekt,kod) local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(wywolanie,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) __Funkcja(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,wywolanie,obiekt,kod,tab_numer); if(__Funkcja2)then __Funkcja2(wywolanie,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,uzyskano_w_wyniku_parsowania_wywolanie_szablonu); end; end); end; GlownaFunkcja(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod); end; function p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(artykul))and(artykul["LINK"]))then if(not czy_naglowek)then return artykul[1]; else return artykul; end; end; return artykul; end; function p.CzyTabelaStronyWoluminuSpisuRzeczy(tab_artykul) local parametry_modul=require("Module:Parametry"); local czy_table_baza_artykulu=parametry_modul.TypeTable(tab_artykul); if((czy_table_baza_artykulu)and(tab_artykul["LINK"]))then return false;end; return czy_table_baza_artykulu; end; function p.TylkoNazwaStronyWoluminuZTabeliPublikacji(tab_artykulu,pomin_link) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(tab_artykulu))and(pomin_link or tab_artykulu["LINK"]))then return tab_artykulu[1];end; return tab_artykulu; end; function p.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_artykulu) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(tab_artykulu))and(tab_artykulu["LINK"]))then return nil;end; return tab_artykulu; end; function p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_artykulu_strony,parametry,naglowek,tab_innej_przekierowania_strony) local parametry_modul=require("Module:Parametry"); parametry=parametry_modul.CzyTak(parametry) and parametry or nil; naglowek=parametry_modul.CzyTak(naglowek) and naglowek or nil; return (parametry or naglowek or tab_innej_przekierowania_strony) and {nazwa_artykulu_strony,parametry,naglowek,["LINK"]=true,tab_innej_przekierowania_strony,} or nazwa_artykulu_strony; end; function p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,naglowek,pomin_link) local parametry_modul=require("Module:Parametry"); if(parametry_modul.TypeTable(tab_artykul))then if(pomin_link or tab_artykul["LINK"])then local nazwa_artykulu_strony=tab_artykul[1]; if(naglowek)then local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; return nazwa_artykulu_strony..(parametry and ("?"..parametry) or "")..(naglowek and ("#"..naglowek) or ""); else return nazwa_artykulu_strony; end; else return tab_artykul; end; else return tab_artykul; end; end; function p.DekodowanieTekstu(nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci) return function(tekst,tryb,czy_nie_odstepy,drugi_wynik,czy_drugi_wynik_przetworzony) if(not tekst)then return tekst;end; local stronicowyparser_pomocne_modul=require("Module:StronicowyParser/Pomocne"); local tekst,tekst2=stronicowyparser_pomocne_modul.DekodowanieTekstuNazwLinku(tekst,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,tryb,czy_nie_odstepy,drugi_wynik,czy_drugi_wynik_przetworzony) return tekst,tekst2; end; end; function p.ARCHIWLubSTARE(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul) local obiekt=obiekt or "ARCHIW"; local szablonowe_modul=require("Module:Szablonowe"); kod=kod or szablonowe_modul.NumerSzablonuObiektu(tablica_analizy_obiektow_strony_dany_modul,obiekt); kod=kod+1; tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]=szablon; return szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod),kod; end; function p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,nazwa_modulu_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_uwzgledniac_modyfikatory,czy_z_kluczem) ---- --nazwa_modulu_szablonowa=nazwa_modulu_szablonowa or nazwa_modulu; local szablonowe_modul=require("Module:Szablonowe"); local czy_kodowanie=mw.ustring.match(nazwa_szablonu,szablonowe_modul.NormaWzoruKodowaniaTekstu()); if(not czy_kodowanie)then return nil,true;end; if(not czy_uwzgledniac_modyfikatory)then local czy_modyfikatory=mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:"); if(czy_modyfikatory)then return nil,false;end; end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; --local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu; --local tab_tekst=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; --- local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local tab_szablony_strona_zbiorcza=stronicowyparser_obiekty_modul.strona_zbiorcza ---- local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; ---- local techniczne_modul=require("Module:Techniczne"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local czy_szablon_wszystko=false; local max; local nazwa_szablonu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod,poziom_iteracji,tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul) if(obiekt=="SZABLON")then local wynik,jaki_wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_szablonowa, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((tab_szablony[nazwa_szablonu]) ---or(tab_naglowki[nazwa_szablonu]) --or(tab_tekst[nazwa_szablonu] or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) or(tab_szablony_strona_zbiorcza[nazwa_szablonu]) or(tab_szablony_strona_start[nazwa_szablonu]) )then return nil,false;end; return true,true; end, nil, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) for _,nazwa_modulu_lua in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_ramek_lua)do if((nazwa_szablonu==nazwy_np_modul.Module..":"..nazwa_modulu_lua) or(mw.ustring.match(nazwa_szablonu,'^'..nazwy_np_modul.Module..":"..techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_modulu_lua).."/")) )then return nil,false; end; end; return true,true; end,nil,nil,nil,nil,nil,nil, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kodtabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) return true,true; end); czy_szablon_wszystko=czy_szablon_wszystko or ((jaki_wynik==nil)and true or jaki_wynik); if(not wynik)then local kodowanie_szablonowe; kodowanie_szablonowe,max=p.ARCHIWLubSTARE(szablon,"ARCHIW",max,tablica_analizy_obiektow_strony_dany_modul) return kodowanie_szablonowe; end; elseif((obiekt=="STARE")or(obiekt=="ARCHIW"))then return nil,true; elseif((obiekt=="ZMIENNA")and(not czy_z_kluczem))then local klucz=mw.ustring.match(szablon,"^%{%{%{%s*klucz(%d*)%s*%|.*%}%}%}$") or mw.ustring.match(szablon,"^%{%{%{%s*klucz(%d*)%s*%}%}%}$"); if(klucz)then if((klucz=="")or(mw.ustring.match(klucz,"^[1-9]%d*$")))then local kodowanie_szablonowe; kodowanie_szablonowe,max=p.ARCHIWLubSTARE(szablon,"ARCHIW",max,tablica_analizy_obiektow_strony_dany_modul) return kodowanie_szablonowe; end; end; end; return szablon; end); if(czy_szablon_wszystko)then local frame=mw.getCurrentFrame(); nazwa_szablonu=frame:preprocess(nazwa_szablonu); end; return nazwa_szablonu,true; end; function p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu) local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local nazwy_szablonowe_kolidacja=stronicowyparser_obiekty_modul.nazwy_szablonowe_kolidacja; if(nazwy_szablonowe_kolidacja[nazwa_szablonu])then return nazwa_szablonu,false;end; local nazwa_linku=stronicowyparser_obiekty_modul.przekierowania_szablonowe_linkowe_inteligentne_inne[nazwa_szablonu]; if(nazwa_linku)then return nazwa_linku,true;end; local litery_przestrzeni_kolidacja=stronicowyparser_obiekty_modul.litery_przestrzeni_kolidacja; local link,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a?)(%d?)$"); if((link)and(link=="L"))then if((ustep=="")or(ustep=="u"))then prze=litery_przestrzeni_kolidacja[prze] or prze; local przez_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze]; if(przez_literowa)then local nazwa="Link"..przez_literowa..((ustep~="")and "Ustęp" or "")..dwa; return nazwa,true; end; if(ustep=="")then if(prze=="u")then return "LinkUstęp"..dwa,true;end; if(prze=="o")then return "LinkOgólne"..dwa,true;end; end; else local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[prze]; if(projektowe_literowe)then ustep=litery_przestrzeni_kolidacja[ustep] or ustep; local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[ustep]; if(prze_literowa)then return "Link"..projektowe_literowe..prze_literowa..dwa,true; end; end; end; return nazwa_szablonu,false; else local link,projekt,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a)(%a?)(%d?)$"); if((link)and(link=="L"))then if((ustep=="")or(ustep=="u"))then local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[projekt]; if(projektowe_literowe)then prze=litery_przestrzeni_kolidacja[prze] or prze; local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze]; if(prze_literowa)then return "Link"..projektowe_literowe..prze_literowa..((ustep~="") and "Ustęp" or "")..dwa,true; end; end; end; end; return nazwa_szablonu,false; end; end; function p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa,tablica_danych_parametrow_szablonu_strony,kod,czy_liczyc_przekierowanie) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku; end; end; end; nazwa=(not czy_liczyc_przekierowanie)and p.SzablonyPrzekierowanioweInteligentne(nazwa) or nazwa; local function AnalizaSzablonowaLinku() local nazwa,dwa=mw.ustring.match(nazwa,"^Link(%a+)(2?)$"); if(not nazwa)then return;end; if(dwa=="")then dwa=nil;else dwa=true;end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); ---- local tab_przestrzen=stronicowyparser_obiekty_modul.kody_szablony_linkowe_przestrzenne; local tab_jezyk=stronicowyparser_obiekty_modul.kody_szablony_linkowe_dialektu; local tab_projektowe=stronicowyparser_obiekty_modul.kody_szablony_linkowe_projektowe; ---- local nazwa_nowa,ustep_nowa=mw.ustring.match(nazwa,"^(.+)(Ustęp)$") nazwa=nazwa_nowa or nazwa; local czy_ustep=ustep_nowa and true or false; local przestrzen=mw.ustring.match(nazwa,"^(%u%l+)$"); if(przestrzen)then local przestrzenne=tab_przestrzen[przestrzen]; if(przestrzenne)then return {przestrzenne[1],przestrzenne[2],nil,czy_ustep,dwa,}; end; end; ---- local jezyk,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)$"); if(jezyk and przestrzen)then local jezykowe=tab_jezyk[jezyk];local przestrzenne=tab_przestrzen[przestrzen]; if(jezykowe and przestrzenne)then return {przestrzenne[1],przestrzenne[2],jezykowe,czy_ustep,dwa,}; end; ---- local projektowe=tab_projektowe[jezyk]; if(projektowe and przestrzenne)then return {przestrzenne[1],projektowe or przestrzenne[2],czy_ustep,nil,dwa,}; end; end; ----- local jezyk,projekt,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)(%u%l+)$"); if(jezyk and projekt and przestrzen)then local jezykowe=tab_jezyk[jezyk];local projektowe=tab_projektowe[projekt];local przestrzenne=tab_przestrzen[przestrzen] if(jezykowe and projektowe and przestrzenne)then return {przestrzenne[1], projektowe or przestrzenne[2],jezykowe,czy_ustep,dwa,} end; local projektowe=tab_projektowe[jezyk..projekt]; if(projektowe and przestrzenne)then return {przestrzenne[1],projektowe or przestrzenne[2],nil,czy_ustep,dwa,}; end; end; return nil; end; local wynik=AnalizaSzablonowaLinku(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[0])then tablica_danych_parametrow_szablonu_strony[0]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku=wynik; end; return wynik; end; function p.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy; end; end; end; --local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); --local tab_szablony_inteligentne=stronicowyparser_obiekty_modul.kody_inne_szablony_linkowe_inteligentne; local nazwa_zamiast_linku; nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); if(nazwa_szablonu=="Sekcja referencyjna")then local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2]; if(nazwa)then return nazwa;end; local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu[1]; local parametry_modul=require("Module:Parametry"); local czy_strona=parametry_modul.CzyTak(strona) and true or false; if(not czy_strona)then local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](); end; local ustep=tabela_parametrow_szablonu["ustęp"]; local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna"); local czy_ustep=parametry_modul.CzyTak(ustep); if(not czy_strona)then czy_ustep=not czy_ustep;end; nazwa_zamiast_linku=sekcja_referencyjna_modul.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep); elseif(nazwa_szablonu=="Link wewnętrzny")then nazwa_zamiast_linku=tabela_parametrow_szablonu["nazwa"] or (tabela_parametrow_szablonu["strona"] or "")..(tabela_parametrow_szablonu["nagłówek"]and("#"..tabela_parametrow_szablonu["nagłówek"]) or "") elseif(nazwa_szablonu=="LinkOgólne")then nazwa_zamiast_linku=tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1]; elseif(nazwa_szablonu=="SpisTreści")then local nazwa=(tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[3] or tabela_parametrow_szablonu["artykuł"] or tabela_parametrow_szablonu[1]); if(nazwa)then local dodatek=tabela_parametrow_szablonu["dodatek"] or tabela_parametrow_szablonu[4]; if(dodatek)then dodatek=" "..dodatek;else dodatek="";end; nazwa_zamiast_linku=nazwa..dodatek; end; elseif(nazwa_szablonu=="LinkURL")then local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu["n"]; if(nazwa)then nazwa_zamiast_linku=nazwa; else local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu["s"]; nazwa_zamiast_linku=strona; end; end; if((nazwa_zamiast_linku)and(nazwa_zamiast_linku~=""))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[-7])then tablica_danych_parametrow_szablonu_strony[-7]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=nazwa_zamiast_linku; end; end; return nazwa_zamiast_linku; end; function p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy; end; end; end; nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy; local tab_spis=inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]; if(tab_spis)then local czy_true=tab_spis[1]; local parametr;local numer; if(czy_true)then parametr=tabela_parametrow_szablonu[tab_spis.numer_link]; else parametr=tabela_parametrow_szablonu[tab_spis.link]; local numer=tabela_parametrow_szablonu[tab_spis.numer]; parametr=(parametr and numer)and (numer.." "..parametr) or (parametr); end; if((parametr)and(parametr~=""))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[-8])then tablica_danych_parametrow_szablonu_strony[-8]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=parametr; end; end; return parametr; end; return nil; end; function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA) local numer; if((obiekt)and(kod))then if(obiekt=="SZABLON")then numer=-2; elseif(obiekt=="LINKW")then numer=-3; elseif(obiekt=="LINKZ")then numer=-4; end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod[1],tablica_danych_parametrow_szablonu_strony_numer_kod[2],tablica_danych_parametrow_szablonu_strony_numer_kod[3],tablica_danych_parametrow_szablonu_strony_numer_kod[4],tablica_danych_parametrow_szablonu_strony_numer_kod[5]; end; end; end; end; local local1,local2,local3,local4,local5=p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA); if((obiekt)and(kod))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[numer])then tablica_danych_parametrow_szablonu_strony[numer]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; tablica_danych_parametrow_szablonu_strony_numer[kod]={local1,local2,local3,local4,local5,}; end; end; return local1,local2,local3,local4,local5; end; function p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA) ---- local DekodowanieTekstu=p.DekodowanieTekstu(nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci); ---- local parametry_modul=require("Module:Parametry"); local wiki_modul=require("Module:Wiki"); local pozycja_artykulu=nil;local nazwa=nil; local czy_tabela_do_parsowania_artykulu=parametry_modul.TypeTable(wyzyskane_wywolanie_szablonu_spis_tresci); if(not czy_tabela_do_parsowania_artykulu)then pozycja_artykulu,nazwa=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)|(.+)%]%]$"); if(not((pozycja_artykulu)and(nazwa)))then pozycja_artykulu=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)%]%]$"); end; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy") local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_spisu_tresci_analizowana=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci); local function Artykul(strona,parametry--[[_ref]],naglowek--[[_ref]]) ---- --local parametry=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](strona,true); --local naglowek=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](strona,true); ---- strona=html_modul["NazwaStronyAdresu"](strona,true); strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",}; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_spisu_tresci_analizowana,}; ---- local tabela_nazw_strona={}; local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw_strona); local nazwa_przestrzeni_ksiazki_strony=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw_strona); local nazwa_ksiazki_strony=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw_strona) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw_strona); local nazwa_artykulu_strony=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw_strona); --if((tab_nazwa_spisow_przekierowaniowych)and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])and --[[else]] if(tab_nazwa_spisow_przekierowaniowych)then local techniczne_modul=require("Module:Techniczne"); local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(strona); local function DaneRozwazone(strona_przekierowania,inna_ksiazka,czy_przekierowanie) local tabela_nazw_przekierowanie={}; ---- local nazwa_przestrzeni_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_przestrzeni_ksiazki_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_ksiazki_strony_przekierowania=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie) or nazwy_modul["NAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_artykulu_strony_przekierowania=((not inna_ksiazka) and (nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie)) or (nazwa_artykulu_strony)); ---- local tabela_nazw_adresu_przekierowania={}; local parametry_przekierowania=((not inna_ksiazka) and (html_modul["ParametryStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil); local naglowek_przekierowania=((not inna_ksiazka) and (html_modul["NagłówekStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil); ---- if((nazwa_przestrzeni_strony_przekierowania==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony_przekierowania==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony_przekierowania==nazwa_ksiazki))then local czy_inne_ksiazka=((inna_ksiazka)or(((nazwa_przestrzeni_strony~=nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki_strony~=nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki_strony~=nazwa_ksiazki)))); if(czy_inne_ksiazka)then if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]={}; end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony]={}; end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]=true; end; end; return {nazwa_artykulu_strony_przekierowania,parametry_modul.CzyTak(parametry_przekierowania) and parametry_przekierowania or nil,parametry_modul.CzyTak(naglowek_przekierowania) and naglowek_przekierowania or nil,{czy_inne_ksiazka and {nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,inna_ksiazka,true,czy_przekierowanie,} or nil,czy_przekierowanie and nazwa_artykulu_strony or nil,czy_przekierowanie and parametry or nil,czy_przekierowanie and naglowek or nil,} or nil,}; else if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony_przekierowania,nazwa_przestrzeni_ksiazki_strony_przekierowania,nazwa_ksiazki_strony_przekierowania,true,false,czy_przekierowanie,},nazwa_artykulu_strony_przekierowania,parametry_przekierowania,naglowek_przekierowania,} or nil,}; else return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony; end; end; end; if(strona_przekierowania)then return DaneRozwazone(strona_przekierowania,nil,true); else if((tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]) and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]))then return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,true,true,false,},nil,nil,nil,},}; end; local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,""); local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki); if(strona_przekierowania)then return DaneRozwazone(strona_przekierowania,true,false); end; end; end; if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then return {nazwa_artykulu_strony,parametry,naglowek,}; end return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony; end; --- local pudelko_modul=require("Module:Pudełko"); local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"](); local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"](); local function DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,parametry_ref,naglowek_ref,nazwa,czy_link,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if(not mw.ustring.match(pozycja_artykulu,"[{}%[%]|]"))then if((czy_nie_dwukropek)and(((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))or (parametry_modul.CzyTak(klucz_projektu)and((klucz_projektu==kod_jezyka_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu)or(klucz_projektu==kod_jezyka_tego_projektu..":"..kod_projektu_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu..":"..kod_jezyka_tego_projektu))) or(((kod_jezyka)and(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu)and(kod_projektu==kod_projektu_tego_projektu))) or ((kod_jezyka)and(not kod_projektu)and(kod_jezyka==kod_jezyka_tego_projektu))or((kod_projektu)and(not kod_jezyka)and(kod_projektu==kod_projektu_tego_projektu))))then ---- pozycja_artykulu=DekodowanieTekstu(pozycja_artykulu,2,nil); parametry_ref=DekodowanieTekstu(parametry_ref,2,nil); naglowek_ref=DekodowanieTekstu(naglowek_ref,2,nil); ---- local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:"); local tabela_nazw_adresu_artykulu={}; parametry_ref=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); naglowek_ref=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); pozycja_artykulu=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); ---- local czy_pozycja_artykulu=pozycja_artykulu; local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(pozycja_artykulu,parametry_ref,naglowek_ref); if(pozycja_artykulu)then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2],pozycja_artykulu[3],pozycja_artykulu[4]),nazwa,nil,nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else local nazwy_modul=require("Module:Nazwy"); --local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=czy_pozycja_artykulu,}; strona=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwa_przestrzeni_strony==nazwy_np_modul.Main) or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikijunior) or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikibooks) or(nazwa_przestrzeni_strony==nazwy_np_modul.User) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; elseif( czy_link or parametry_modul.CzyTak(klucz_projektu) or parametry_modul.CzyTak(kod_jezyka) or parametry_modul.CzyTak(kod_projektu) or ((nazwa_przestrzeni_strony~=nazwy_np_modul.Category)and(nazwa_przestrzeni_strony~=nazwy_np_modul.File)) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; else local pozycja_artykulu_stara=pozycja_artykulu; local pudelko_modul=require("Module:Pudełko"); local kod_jezyka=kod_jezyka or pudelko_modul["Kod języka tego projektu"](); local kod_projektu=kod_projektu or pudelko_modul["Kod projektu tego projektu"](); local wiki_modul=require("Module:Wiki"); local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu); pozycja_artykulu=DekodowanieTekstu(pozycja_artykulu,2,nil); local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:"); local nazwa_strony_linku; local uzyskana_nazwa_strony_linku; if(czy_nie_dwukropek)then nazwa_strony_linku=pozycja_artykulu; else local kod_jezyka_poczatkowy, kod_projektu_poczatkowy; nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(pozycja_artykulu,kod_jezyka_koncowy,kod_projektu_koncowy); uzyskana_nazwa_strony_linku=nazwa_strony_linku; end; ---- parametry_ref=DekodowanieTekstu(parametry_ref,2,nil); naglowek_ref=DekodowanieTekstu(naglowek_ref,2,nil); ---- local html_modul=require("Module:Html"); local tabela_nazw_adresu={}; local parametry_strony=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); local naglowek_strony=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw_artykul={}; local nazwa_przestrzeni=nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul); local nazwa_kanoniczna_przestrzeni; local biezaca_wiki; if(tabela_nazw_artykul.czy_aktualna_wiki==nil)then biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,}; else biezaca_wiki=tabela_nazw_artykul.czy_aktualna_wiki; end; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(biezaca_wiki)then local czy_wyswietlic_link=((uzyskana_nazwa_strony_linku)and(uzyskana_nazwa_strony_linku~=pozycja_artykulu))and true or false; if(nazwa_przestrzeni)then if((nazwa_przestrzeni==nazwy_np_modul.Main) or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior) or(nazwa_przestrzeni==nazwy_np_modul.Wikibooks) or(nazwa_przestrzeni==nazwy_np_modul.User) )then local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(nazwa_strony_linku); if(pozycja_artykulu)then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2] or parametry_strony,pozycja_artykulu[3] or naglowek_strony,pozycja_artykulu[4]),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else nazwa_strony_linku=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; elseif( czy_link or (nazwa_strony_linku~=pozycja_artykulu) or ((nazwa_przestrzeni~=nazwy_np_modul.Category)and(nazwa_przestrzeni~=nazwy_np_modul.File)) )then nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul) return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul); nazwa_kanoniczna_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}; if(nazwa_kanoniczna_przestrzeni)then if((nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Main) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Wikijunior) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Project) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.User) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},4,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},5,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; --- local czy_pozycja_artykulu=nil; if((not pozycja_artykulu)and(not czy_tabela_do_parsowania_artykulu))then local link_szablon=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^({{[^{}]+}})$"); if(link_szablon)then local szablonowe_modul=require("Module:Szablonowe"); return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(link_szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); if(nazwa_szablonu=="SpisTreści")then local tabela_nazw_spis_rzeczy={}; pozycja_artykulu=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; ------ local nazwa_ksiazki=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); if(not nazwa_ksiazki)then pozycja_artykulu=DekodowanieTekstu(pozycja_artykulu,2,nil); local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); local dodatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); if((nazwa)or(dodatek))then local nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or ""); ------ return {pozycja_artykulu,nazwa,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else return {pozycja_artykulu,nil,},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else local adres=nazwa_spisu_tresci..((pozycja_artykulu~="")and ("/"..pozycja_artykulu)or ""); adres=p.DekodowanieNazwySzablonu(adres,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or adres; local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); local datatek=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_spis_rzeczy); if((nazwa)or(dodatek))then nazwa=(nazwa or pozycja_artykulu)..((dodatek) and (" "..dodatek) or ""); end; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(adres); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(adres,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow); end; elseif(nazwa_szablonu=="Sekcja referencyjna")then local tabela_nazw_sekcja_referencyjna={}; local strona=p.SpisRzeczySzablon(nazwa_szablonu,1,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); local podstrona=p.SpisRzeczySzablon(nazwa_szablonu,3,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); ----- local strona_wolumin; local nazwa=p.SpisRzeczySzablon(nazwa_szablonu,2,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); if(strona)then strona,strona_wolumin=DekodowanieTekstu(strona,nazwa and 2 or 3,nil,(not nazwa) and true or nil); end; podstrona=podstrona and DekodowanieTekstu(podstrona,2,nil) or podstrona; ---- local ustep=p.SpisRzeczySzablon(nazwa_szablonu,4,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); local od_malej=p.SpisRzeczySzablon(nazwa_szablonu,5,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); local od_duzej=p.SpisRzeczySzablon(nazwa_szablonu,6,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); ---- local nazwa_przestrzeni_nazw=p.SpisRzeczySzablon(nazwa_szablonu,7,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); local nazwa_jednostki=p.SpisRzeczySzablon(nazwa_szablonu,8,tabela_parametrow_szablonu,tabela_nazw_sekcja_referencyjna,true); ---- local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna"); ---- if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then ---- local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,nil,true,strona_wolumin); ---- local html_modul=require("Module:Html"); local tabela_nazw_adresu={}; local parametry_ref=html_modul["ParametryStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu); local naglowek_ref=html_modul["NagłówekStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu); ---- local strona_ref=html_modul["NazwaStronyAdresu"](strona_artykulu,true,tabela_nazw_adresu); ----- return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona_ref,parametry_ref,naglowek_ref),nazwa_artykulu,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false,(((strona)and(not nazwa)) and true or nil); else local pudelko_modul=require("Module:Pudełko"); local pelna_nazwa_jednostki=pudelko_modul["Pełna nazwa jednostki"]( { args={ ["nazwa przestrzeni nazw"]=nazwa_przestrzeni_nazw, ["nazwa jednostki"]=nazwa_jednostki, } },0); local strona_artykulu,nazwa_artykulu=sekcja_referencyjna_modul.Wolumin(strona,podstrona,nazwa,ustep,od_malej,od_duzej,pelnanazwajednostki,nil,strona_wolumin); local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(strona_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(strona_artykulu,nil,nil,nazwa_artykulu,true,czy_nie_dwukropek,nil,nil,nil,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow),(((strona)and(not nazwa)) and true or nil); end; elseif(nazwa_szablonu=="Link wewnętrzny")then local pozycja_artykulu=tabela_parametrow_szablonu["strona"]; if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local nazwa=tabela_parametrow_szablonu["nazwa"]; local naglowek=tabela_parametrow_szablonu["nagłówek"]; local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"]; local kod_jezyka=tabela_parametrow_szablonu['kod języka']; local kod_projektu=tabela_parametrow_szablonu["kod projektu"]; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,naglowek,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) else local nazwa_szablonu_nowa,dwa=mw.ustring.match(nazwa_szablonu,"^(LinkOgólne)(2?)$"); if(nazwa_szablonu_nowa)then local pozycja_artykul; local strona=tabela_parametrow_szablonu[1]; if(not strona)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local czy_dwa=(dwa~="")and true or false; local nazwa=(not czy_dwa) and tabela_parametrow_szablonu[2] or nil; local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"]; local kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"]; local kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"]; local miano_przestrzeni_nazw=tabela_parametrow_szablonu["miano przestrzeni nazw"] or tabela_parametrow_szablonu["przestrzeń"] or tabela_parametrow_szablonu["f"]; if(miano_przestrzeni_nazw)then pozycja_artykulu=((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw..":") or "")..strona; else pozycja_artykulu=strona; end; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) else local dane_szablonu_linku=p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod,true); if(dane_szablonu_linku)then local pozycja_artykulu=tabela_parametrow_szablonu[1]; if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local nazwa_przestrzeni=dane_szablonu_linku[1]; local pozycja_artykulu=(((nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":") or "")..tabela_parametrow_szablonu[1]; local nazwa=((not dane_szablonu_linku[4])and(not dane_szablonu_linku[5])) and (tabela_parametrow_szablonu[2]) or nil; local klucz_projektu;local kod_jezyka;local kod_projektu; if((not dane_szablonu_linku[2])and(not dane_szablonu_linku[3]))then klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"]; kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"]; kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"]; else kod_jezyka=dane_szablonu_linku[3]; kod_projektu=dane_szablonu_linku[2]; end; local czy_nie_dwukropek; if(nazwa_przestrzeni=="")then czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); elseif((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))then czy_nie_dwukropek=true; else czy_nie_dwukropek=false; end; return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow); elseif((__FUNKCJA)and(__FUNKCJA(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)))then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},true; end; end; end; end); else local nazwa_strony=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s*%]$"); if(nazwa_strony)then nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nil,nil,nil, nazwa_strony,"url",},6,false,nil,false; else local nazwa_strony,nazwa_linku=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s+([^%[%]]-)%s*%]$"); if((nazwa_strony)and(nazwa_linku))then nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nazwa_linku,nil,nil, nazwa_strony,"url",},6,false,nil,false; end; end; end; elseif(not czy_tabela_do_parsowania_artykulu)then local specjalne_modul=require("Module:Specjalne"); if(specjalne_modul.CzyInterwiki(wyzyskane_wywolanie_szablonu_spis_tresci))then return nil,nil,false,nil,true; end; local parametry_modul=require("Module:Parametry"); --pozycja_artykulu=mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=pozycja_artykulu,[2]="tak",}); local czy_pozycja_artykulu=mw.ustring.match(pozycja_artykulu,"^/(.-)/+$") or mw.ustring.match(pozycja_artykulu,"^/(.+)$"); if(czy_pozycja_artykulu)then if(parametry_modul["CzyTakCiąg"](czy_pozycja_artykulu))then czy_pozycja_artykulu=pelna_nazwa_spisu_tresci_analizowana.."/"..czy_pozycja_artykulu; return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(czy_pozycja_artykulu,nil,nil,nazwa,true,true,nil,nil,nil,nil); else pozycja_artykulu=nil; return {pozycja_artykulu,nazwa},1,false,nil,false; end; else local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,false,czy_nie_dwukropek,nil,nil,nil,nil); end; else local pozycja_artykulu=wyzyskane_wywolanie_szablonu_spis_tresci[1]; local nazwa=wyzyskane_wywolanie_szablonu_spis_tresci[2]; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,nil); end; end; return p; dfwazivdbd33dkp09ushpar0ryvdr7n Wikibooks:Moduły/StronicowyParser/SpisTreści/Tom I 4 63522 560277 559746 2026-10-29T10:23:58Z Persino 2851 /* Definicja tablicy: {{Code|tab_stare}}, inicjowanie jej elementów w różnych przypadkach */ 560277 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Funkcje lokalne == === {{Śródtytuł|Ile}}{{Code|Ile}} === Funkcja liczy liczbę elementów we wszystkich podtabelach tabeli {{Code|tabela_rozdzial_artykulow2}} {{Patrz|tabela_rozdzial_artykulow2}}, licząc od drugiej tabeli, po pierwszej tabeli mieści się podtabela z informacjami o rozdziale, w której znajdują się artykuły określone dalszymi podtabelami. Tymi podtabelami są od {{Code|2}} do {{Code|7}}, czyli {{Code|6}} tabelek, w których są artykuły, które zaliczamy do kategorii wliczane, tzn. one nie znajdują się w takich rozdziałach {{ZobaczTeż|przetłumaczone rozdziały}} przetłumaczonych na małą literę, ale przedtem na niego była działana funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, usuwając z nich odstępy na końcach, w tym dolne myślniki, a wewnątrz zamieniając kolejne dolne myślniki i spacje na jedną spację. Metafunkcja, w metatablicy: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}, w: {{Code|{{ld2|Parametry}}}}, aby porównać to z tablicą {{Code|{{sr|#p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu|p=StronicowyParser/obiekty}}}} {{Patrz|p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu}}, by zaliczyć je do tego typu: <syntaxhighlight lang="lua"> p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, }; </syntaxhighlight> Musimy wykorzystać tak przetłumaczone rozdziały {{LinkZobaczTeż|przetłumaczone rozdziały}}, przy pomocy tej metatabelki, czy one zgadzają się z tą tablicą. Te rozdziały należą do kategorii rozdziałów, w których artykuły są pomijane przez: '''{{ld|StronicowyParser|Stronicowy parser}}''', ale jeżeli one należą do rozdziału spisu treści lub rzeczy, to tam jednak nie są takie, inaczej jest poza. A od: {{Code|7}} do {{Code|13}}, znajdują się podtabele z artykułami, które już należą już tam, czyli wtedy te drugie {{Code|6}} tabel. A ta powyższa tabela mieści się: {{Code|{{ld2|StronicowyParser/obiekty}}}}, a jego opis w: {{Code|{{sr|#p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu|p=StronicowyParser/obiekty}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow2)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|numer_rodzaju_artykulu}} | _1 = Numer podtabeli elementtu, do którego wsadzamy element. | 2 = {{Code|tabela_rozdzial_artykulow2}} | _2 = Tabela wraz podtabelami, od {{Code|1}} do {{Code|13}}, ale liczenie jest od {{Code|2}}. }} === {{Śródtytuł|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}}{{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === ==== Opis pobieżny funkcji ==== Funkcja do wstawiania elementów z ogólnej tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}, za pomocą funkcji wstawianej jako parametr: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{Patrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, do odpowiedniej pozycji artykularnej od: {{Code|2}} do {{Code|13}}, a pozycja {{Code|1}}, to pozycja rozdziałowa, ona jest określana przez zmienną: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{Patrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, a pozycja, którą wsadzamy to: {{Code|tab_stare}} {{Patrz|tab_stare}}. Funkcja zwraca pozycje: <syntaxhighlight lang="lua"> return numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych; </syntaxhighlight> Opis tych parametrów funkcji: {{OpisParametrów | 1 = {{Code|numer_rodzaju_artykulu_poprz}} {{Patrz|numer_rodzaju_artykulu_poprz}} | _1 = Jest to wartość zwrócona przez funkcję: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}} {{Patrz|AnalizujLinkSzablonyOrazLinki}}, w odróżnieniu od: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, jest mniejszy o jeden, czyli wtedy to była a poziomie przypisywania wartość {{Code|numer_rodzaju_artykulu}} {{Patrz|numer_rodzaju_artykulu}}, | 2 = {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{Patrz|tab_pozycja_elementow_w_spisie_rzeczy}} | _2 = Pierwsza artykularna zmienna zwrócona przez funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}. | 3 = {{Code|tablica_artykulow_zebranych}} {{Patrz|tablica_artykulow_zebranych}} | _3 = Tablica do sprawdzania, czy artykuł z nagłówkiem, ma powtórzenie tego bez nagłówka, czyli dla tego bez tego jest inna numeracja niż z nagłówkiem, a gdy niema tego bez, to wtedy dzięki tej funkcji numeracja tak się zachowuje, jak tam by był ten element, co prawda jest tam dodawany, ale jako z informacją taką, że bz numeru ustalanym przez funkcję: {{LinkŚródtytuł|Ile}}, A przy okazji, aby tego elementu nie dodawać ponownie, to w nim jest ustalana druga zmienna na {{Code|1}}, a wcześniej była na {{Code|0}}, i dlatego ona była wtedy dodawana, a później już tak nie jest. }} Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY,tabela_rozdzial_artykulow2,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow--[[]])...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|self}} {{Patrz|self}} | _1 = Zmienna obiektowa funkcji, z pominięciem, której funkcję można napisać zamiast {{Code|p.}} {{Patrz|p.}} jako {{Code|p:}} {{Patrz|p:}}. | 2 = {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} | _2 = Opis jest jak w: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. {{P|Przykład wywołania:}} <syntaxhighlight lang="lua"> __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow2,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); </syntaxhighlight> Funkcja jest wywoływana w: <syntaxhighlight lang="lua"> numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych=WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,WsadzanieParametryDoTablicy(linia,czy_linia_uwzgledniana),tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow); </syntaxhighlight> Gdzie funkcja: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, to jest: {{LinkŚródtytuł|WsadzanieParametryDoTablicy}}. | 3 = {{Code|tabela_rozdzial_artykulow2}} | _3 = Ta tabela działa według opisu jak w: {{LinkPatrz|tabela_rozdzial_artykulow2}}. | 4 = {{Code|tablica_artykulow_zebranych}} | _4 = Diała jak w: {{LinkPatrz|tablica_artykulow_zebranych}}. | 5 = {{Code|wliczaj_artykuly_tego_rozdzialu}} {{Patrz|wliczaj_artykuly_tego_rozdzialu}} | _5 = Jak przybiera odpowiadającą wartość fałszywą, to do: {{LinkPatrz|numer_rodzaju_artykulu}}, dodawane jest {{Code|6}}. | 6 = {{Code|szablon}} {{Patrz|szablon}} | _6 = Jest to tekst zakodowany całego linku wewnętrznego, czy zewnętrznego, czy linku inteligentnego w postaci szablonu. | 7 = {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} - | _7 = Kolejno to jest: '''nazwa przestrzeni nazw''', '''nazwa przestrzeni książki''' i '''nazwa książki'''. | 8 = {{Code|nazwa_spisu_tresci}} {{Patrz|nazwa_spisu_tresci}} | _8 = Jest to nazwa artykułu danego spisu treści. | 9 = {{Code|pelna_nazwa_spisu_tresci}} {{Patrz|pelna_nazwa_spisu_tresci}} | _9 = Uchwyt do bazy kodowania tekstu strony spisu treści. | 10 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} {{Patrz|pelna_nazwa_spisu_tresci_szablonowa}} | _10 = Nazwa strony szablonowa, jak są wywoływane w postaci szablonowej, gdzie są rozwijane adresy względne stron, poczytaj: {{lr2|Moduły/StronicowyParser/Rozdziały}} {{Patrz|Moduły/StronicowyParser/Rozdziały}}. | 11 = {{Code|nazwa_modulu}} {{Patrz|nazwa_modulu}} | _11 = Uchwyt do tablicy bazy kodowania zapisany w samej bazie dla danego artykułu, używany zamiast:{{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}. | 12 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} | _12 = Tablica bazy zapisana w postaci osobnej tablicy, a nie jej w wewnętrznej bazie, nie jak to było w postaci zmiennej {{LinkPatrz|nazwa_modulu}}, używana zamiast: {{LinkPatrz|nazwa_modulu}}. | 13 = {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} | _13 = Tablica rozłożeń zmiennej {{Code|szablon}}, dla zmiennych szablonowych, i dla funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}. | 14 = {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} | _14 = Obiekt i kod, czyli: zmienne charakteryzujące zmienną wnętrza: {{Code|szablon}} {{LinkPatrz|szablon}}. | 15 = {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} | _15 = Tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy. | 16 = {{Code|przedrostek_listy}} {{Patrz|przedrostek_listy}} | _16 = Tekstowy przedrostek listy z przedziału znaków: {{Code|<nowiki>[;%*:#]+</nowiki>}} {{Patrz|wzor_do_linii_z_lista}}, rozpoczynających pojedyncza linię. | 17 = {{Code|tekstowy_przedrostek}} {{Patrz|tekstowy_przedrostek}} | _17 = Numeracja rozdziału, z jakim rozpoczyna się rozdział. | 18 = {{Code|w_rozdziale}} {{Patrz|w_rozdziale}}} | _18 = Gdy link znajduje się w rozdziale dodatnim. | 19 = {{Code|linia_artykokow}} {{Patrz|linia_artykokow}} | _19 = Cała linia z artykułem lub artykułami, tą linią równie dobrze może być rozdział, tu chodzi o rozdział dodatni. }} ==== Opis pobieżny funkcji {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Przedstawiamy tutaj funkcję: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, która jest opisana w punkcie: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. Definicja funkcji w nagłówku: <syntaxhighlight lang="lua"> __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow2,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|tabela_rozdzial_artykulow2}} | _1 = Jak w: {{LinkPatrz|tabela_rozdzial_artykulow2}}, | 2 = {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} | _2 = Jak w: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, | 3 = {{Code|tab_stare}} | _3 = Jak w: {{LinkPatrz|tab_stare}}. }} Ta funkcja została opisana już wcześniej. ==== Szczegółowy opis funkcji głównej ==== Uruchamiamy funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, która jest zdefiniowana w module: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}}. Wywołujemy tę funkcję: <syntaxhighlight lang="lua"> local tab_pozycja_elementow_w_spisie_rzeczy,numer_rodzaju_artykulu,id,parametry_szablonu,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nil,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); </syntaxhighlight> Pierwszy zwracanym elementem: {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, jest to zmienna tablicowa, która opisuje parametry artykularno-linkowe, drugi: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, do której kategorii należy dany artykuł w linku, a trzeci parametr, to: {{Code|id}} {{Patrz|id}}, to zbierane są parametry linkowe z szablonu {{s|SpisTreści}}, czwarty to: {{Code|parametry_szablonu}} {{Patrz|parametry_szablonu}}, w przypadku szablonów inteligentnych linków, to są parametry wywołań tych szablonów, ostatni parametr to: {{Code|kom}} {{Patrz|kom}}, przedstawia on, jeśli {{Code|false}}, to artykuł zakwalifikowany został poprawnie do rozważań, a {{Code|true}} już nie. To {{LinkPatrz|parametry szablonu}}, to jest tablica z trzech elementów, tzn.: <syntaxhighlight lang="lua"> local parametry szablonu={tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,}; </syntaxhighlight> Elementy tablicy: {{OpisParametrów | 1 = {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} | _1 = Tablica parametrów uzyskanych z argumentów, i ich wartości, nazwanych i nienazwanych. | 2 = {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu}} | _2 = To jest nazwa uzyskanego szablonu linków inteligentnych lub nie. | 3 = {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow}} | _3 = Tabela modyfikatorów rozkładanego szablonu. }} Jeśli parametr: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, istnieje, to tworzona jest z niego taka sama wersja lub przy nieistnieniu parametru {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, do niego jest dodawana jest liczba {{Code|6}}. W ten sposób możemy zbierać artykuły książki i inne, które należą do pewnych rozdziałów i które nie należą. ===== {{Śródtytuł|ParametrPierwszy}}{{Code|ParametrPierwszy}} ===== Funkcja zbierające dane z {{Code|tab_artykul}} {{Patrz|tab_artykul}}, którego to jest czteroelementowa tablica, dotycząca danego artykułu. Drugim parametrem: {{Code|czy_niedozwolone}} {{Patrz|czy_niedozwolone}}, jest zmienna logiczna mówiąca, czy wskazać w nazwie artykułu, czy są dozwolone znaki, jest to sprawdzenie według wyrażenia regularnego: {{Code|<nowiki>[|<>{}%[%]]</nowiki>}} {{Patrz|wzor_znaki_niedozwolone}} na podstawie funkcji {{LzLua|mw.ustring.match}}, czyli: {{Code|znaki_niedozwolone}} {{Patrz|znaki_niedozwolone}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> ParametrPierwszy(tab_artykul,czy_niedozwolone)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|tab_artykul}} | _1 = Jak w: {{LinkPatrz|tab_artykul}}. | 2 = {{Code|czy_niedozwolone}} | _2 = Jak w: {{LinkPatrz|czy_niedozwolone}}. }} Gdzie: {{Code|tab_artykul}} {{LinkPatrz|tab_artykul}}, który jest pierwszym parametrem przyjmowanym przez funkcję, jest zdefiniowany jako czteroelementowa tablica, którą przypisujemy do czterem osobnych parametrów: <syntaxhighlight lang="lua"> local artykul=tab_artykul[1]; local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; local tablica_przekierowania=tab_artykul[4]; </syntaxhighlight> Jeżeli, któreś z parametrów z: {{LinkPatrz|tab_artykul}}, tzn. element jego {{Code|2}}-gi i {{Code|3}}-ci, istnieje, to układana jest trzyelementowa tablica z elementów od {{Code|1}} do {{Code|3}}, z dodatkowym elementem: {{Code|<nowiki>["LINK"] = true</nowiki>}}, a element czwarty to jest: {{Code|tablica_przekierowania}} {{Patrz|tablica_przekierowania}}, a jeżeli te dwa elementy, nie licząc czwartego, wcale nie istnieją, wtedy jest tworzony łańcuch znakowy z tego pierwszego elementu. Tak tworzymy, nową wersję tablicy: {{Code|tab_artykul}} {{Patrz|tab_artykul-nowa wersja}}, lub łańcuch znakowy, w postaci: <syntaxhighlight lang="lua"> tab_artykul=((artykul)and(parametry or naglowek))and{[1]=artykul,[2]=parametry,[3]=naglowek,["LINK"]=true,} or artykul; </syntaxhighlight> Funkcja zwraca trzy parametry, tzn. parametry: {{LinkPatrz|tab_artykul-nowa wersja}}, {{LinkPatrz|znaki_niedozwolone}} i tablicę przekierowania: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, co skrótowo piszemy: {{Patrz|zwracane-ParametrPierwszy}}: <syntaxhighlight lang="lua"> return tab_artykul,znaki_niedozwolone,tablica_przekierowania; </syntaxhighlight> ===== Rozwijanie nazwy linku artykułu ===== Do rozwijania nazwy linku służy funkcja: {{Code|{{sr|#p.DekodowanieTekstuNazwLinku|p=StronicowyParser/Pomocne}}}} {{Patrz|p.DekodowanieTekstuNazwLinku}}, pod względem szablonowym i nie tylko. Funkcja rozwija tą nazwę tym: {{LzLua|frame:preprocess}}, jedynie nie rozwija szablonów stronicowego parsera, podane podkategoriach w kategorii: {{Code|{{lk2|Szablony stronicowe}}}}, za pomocą odpowiednich metod, bo to by wywołało nieskończoną pętle, i dlatego takie szablony są zamieniane tylko na wywołania symboliczne. ==== Dalszy opis funkcji nadrzędnej przy istnieniu parametrów linkowych normalnych, czy szablonowych (linków inteligentnych) ==== ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|{{=}}}} {{Code|1}} ===== Tworzony jest numerek: {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{Patrz|numer_rodzaju_artykulu_w_podreczniku}}, który w stosunku do: {{LinkPatrz|numer_rodzaju_artykulu}}, jest większy o jeden, a schemat tej operacji: <syntaxhighlight lang="lua"> local numer_rodzaju_artykulu_w_podreczniku=numer_rodzaju_artykulu+1; </syntaxhighlight> ====== Tworzenie tablicy: {{nobold|{{Code|tablica_artykulow_zebranych}}}} ====== Opiszemy tutaj tablicę: {{Code|tablica_artykulow_zebranych}}, opisaną wstępnie w punkcie: {{LinkPatrz|tablica_artykulow_zebranych}}. ; Tablica{{dk}} {{nobold|{{Code|tab_pozycja_elementow_w_spisie_rzeczy[1]}}}}, nie jest tablicą{{dk}} Gdy element pierwszy: {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, nie jest tablicą, wtedy jedynie liczymy, czy ona ma znaki niedozwolone: {{Code|wzor_znaki_niedozwolone}} {{LinkPatrz|wzor_znaki_niedozwolone}}, a póżniej wiedząc ten element, który jest aktualną nazwą artykułu kiążki, tworzymy tabelę: {{ZobaczTeż|tablica_artykulow_zebranych-inicjacja}}: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; </syntaxhighlight> ; Gdy element{{dk}} {{nobold|{{Code|tab_pozycja_elementow_w_spisie_rzeczy[1]}}}}, jest łańcuchem znaków{{dk}} Wpierw liczone są parametry z wywołania, z opcją, czy ma liczyć, czy nazwa artykułu ma znaki niedozwolone, z funkcji: {{LinkŚródtytuł|ParametrPierwszy}}: <syntaxhighlight lang="lua"> tab_pozycja_elementow_w_spisie_rzeczy[1],znaki_niedozwolone,tablica_przekierowania=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],true); </syntaxhighlight> ; Inna książka - atrybut, tzn. czy artykuł wychodzi poza daną książkę, lub jego przekierowanie w niej kieruje na stronę poza nią{{dk}} Dalej sprawdzane jest, czy książka przyjmuje atrybut, tzn.: '''czy inna książka''', wtedy liczymy to z kodu z tablicy przekierowania: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, jeżeli jej wartość istnieje, tzn.: {{Code|czy_inna_ksiazka}} {{Patrz|czy_inna_ksiazka}}: <syntaxhighlight lang="lua"> local czy_inna_ksiazka=tablica_przekierowania and tablica_przekierowania[1] and tablica_przekierowania[1][5] or nil; </syntaxhighlight> ; Tablica przekierowania artykułu względem bieżącej książki{{dk}} Element: {{Code|<nowiki>[1][5]</nowiki>}}, to jest element tablicy: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, który przedstawia, czy to jest artykuł bieżącej książki, którego przekierowanie kieruje, wtedy ten parametr ma wartość {{Code|true}}, a gdy adres przekierowania wskazuje na inną książkę, wtedy {{Code|false}}. Jeśli ten parametr ma wartość fałszywą, wtedy jest sprawdzane, czy jest tablicą w: {{Code|czy_tablica}} {{Patrz|czy_tablica}}, według: <syntaxhighlight lang="lua"> czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); </syntaxhighlight> Lub w przeciwnym wypadku liczymy parametry artykularne z tablicy przekierowania: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, a jeżeli parametry lub nagłówek przekierowania, w tej tablicy, istnieje, wtedy parametr: {{Code|czy_tablica}} {{LinkPatrz|czy_tablica}}, przyjmuje wartość {{Code|true}}, w przeciwnym wypadku wartość fałszywą. Gdy ten element nie jest tablicą, to tworzona jest nazwa pełna artykułu: {{Code|tab_pozycja_elementow_w_spisie_rzeczy[1]}} i umieszczana w tablicy: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, w sposób, co dalej jest tworzona w dalszych operacjach tablica: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, z podobną tablicą początkową jak w poprzednim przypadku jego tworzenia, czyli jak w: {{LinkZobaczTeż|tablica_artykulow_zebranych-inicjacja}}. ; Tablica zebranych artykułów i porównywanie artykułu z nagłówkiem, czy istnieje wcześniejszy artykuł bez niego{{dk}} Gdy element jest jednak tablicą, też jest liczona pełna nazwa artykułu (gdy nazwa artykułu przekierowania istnieje, wtedy ona jest liczona z: {{Code|tablica_przekierowania[2]}}, w przeciwnym wypadku, jeśli element: {{Code|tab_pozycja_elementow_w_spisie_rzeczy[1]}}, jest tablicą, wtedy liczymy ją z: {{Code|tab_pozycja_elementow_w_spisie_rzeczy[1][1]}}, w innym wypadku z: {{Code|tab_pozycja_elementow_w_spisie_rzeczy[1]}}), a z niej liczymy tablicę: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, jak w: {{LinkZobaczTeż|tablica_artykulow_zebranych-inicjacja}}, w przypadku pierwszego artykułu nienagłówkowego. A w przypadku pierwszego artykułu, który może być tylko z nagłówkiem, bo tego bez, w spisie, artykuł poprzedni nie istnieje, a więc tego tam nie ma tam w takim przypadku. Gdy funkcja napotkała artykuł o takim samym stronie, co poprzednio, to do wartości początkowej, bez definiowania jeszcze raz tej samej tablicy, jest ustawiane odpowiednio: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych[3]=true; </syntaxhighlight> Co informuje, że artykuł jest ten sam, tylko inny nagłówek niż poprzedni, a poprzedni pierwszy jest bez niego. ====== Rozwijanie nazwy linku ====== Kompletowany jest drugi element tablicy: {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, rozwijając szablony w nim względem funkcji: {{LinkPatrz|p.DekodowanieTekstuNazwLinku}}. Dalej z tej nazwy są usuwane znaki specjalne według funkcji: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, z modułu: {{Code|{{ld2|Specjalne}}}}. Następnie działamy funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, które końcowe spacje usuwa, a wewnętrz powtarzające zamienia kolejne na jedną spację. ====== Dodawanie do tablicy problemów, jeśli nastąpił problem ze znakami niedozwolonymi ====== A między czasie, gdy mamy niedozwolone znaki: {{Code|znaki_niedozwolone}} {{LinkPatrz|znaki_niedozwolone}}, za pomocą funkcji pytającej sprawdzamy, czy element inny zgłoszeniowy został dodany do tablicy problemów: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, aż w końcu dodajemy ten problem, jeśli go nie ma przy pomocy funkcji: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. ====== {{Śródtytuł|inicjacja_i_kompletowanie_zmiennych}}Ustalanie nazwy jednostki, kompletowanie linii artykułów i inicjowanie pozycji, w tabeli zebranych elementów, w tabeli zebranych elementów ====== Ustalamy nazwę jednostki z funkcji: {{Code|{{sr|#p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem|p=StronicowyParser/Potrzebne}}}}, i inicjujemy tą wartością, czyli: {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, wartość starą: {{Code|stara_nazwa_jednostki}} {{Patrz|stara_nazwa_jednostki}}, według: <syntaxhighlight lang="lua"> ---- Piszanie pełnej nazwy jednostki bez parametrów i nagłówka; local nazwa_jednostki=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tab_pozycja_elementow_w_spisie_rzeczy[1],false); ---- Inicjowanie starej wartości tą policzoną; local stara_nazwa_jednostki=nazwa_jednostki; </syntaxhighlight> Dalej {{Śródtekst|uchwyt=tabela_rozdzial_artykulow2|tekst=inicjujemy pozycję, jeżeli nie istnieje taka, na podstawie policzonej wartości: {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, w tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}}}, według: <syntaxhighlight lang="lua"> if(not tabela_rozdzial_artykulow2[numer_rodzaju_artykulu_w_podreczniku])then tabela_rozdzial_artykulow2[numer_rodzaju_artykulu_w_podreczniku]={};end; </syntaxhighlight> Co {{Śródtekst|uchwyt=linia_artykokow|tekst=dalej linię artykułów {{Code|linia_artykokow}} {{LinkPatrz|linia_artykokow}}, kompletujemy, funkcją: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, z modułu: {{Code|{{ld2|Szablonowe}}}}, znając tablicę: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}}}, według: <syntaxhighlight lang="lua"> linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); </syntaxhighlight> ====== Uwzględnianie niepodanego elementu nienagłówkowego w tablicy zebranych parametrów ====== Gdy tablica przekierowania: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, istnieje, wtedy sprawdzamy, czy zmienna logiczna: {{Code|czy_tablica}} {{LinkPatrz|czy_tablica}}, jest prawdą i czy: {{Code|stara_nazwa_jednostki}} {{LinkPatrz|stara_nazwa_jednostki}}, czy jest nie pusta, w takim razie jej element: {{Code|<nowiki>[2]</nowiki>}}, przydzielany jest do zmiennej: {{Code|przekierowanie}} {{Patrz|przekierowanie}}, czyli parametrów nazwy artykułu przekierowania. Inicjujemy nową zmienną: {{Code|przekierowanie}} {{LinkPatrz|przekierowanie}}, z artykułu, parametrów i nagłówka, ale wpierw sprawdzamy, czy dwa ostatnie istnieją, według: <syntaxhighlight lang="lua"> przekierowanie=przekierowanie and ((tablica_przekierowania[3] or tablica_przekierowania[4]) and {przekierowanie, tablica_przekierowania[3], tablica_przekierowania[4],["LINK"]=true,} or przekierowanie) or nil; </syntaxhighlight> Tworzony jest nowy element: {{Code|nazwa jednostki}} {{Patrz|nazwajednostki-nowy}}, z: {{LinkPatrz|nazwa jednostki}}, parametrów i nagłówka, według rysu: <syntaxhighlight lang="lua"> nazwa_jednostki={nazwa_jednostki, tab_pozycja_elementow_w_spisie_rzeczy[1][2], tab_pozycja_elementow_w_spisie_rzeczy[1][3],["LINK"]=true,}; </syntaxhighlight> Jeżeli parametr drugi: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, a trzeci jej jest: {{Code|false}}, wtedy kreujemy tablicę: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}. Wsadzamy element: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, do zbioru: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, przy pomocy funkcji: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. Następnie jej drugiemu elementowi: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, dawana jest wartość {{Code|1}}, aby nie dało się ponownie tworzyć i wsadzać element: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, do tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}, na pozycji: {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, według funkcji: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, odpowiedzialny za artykuł nienagłówkowy, którego nie ma w spisach treści książki, ale są one w wersji nagłówkowej. Jeżeli tablica przekierowania: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, jednak nie istnieje, wtedy tak samo sprawdzamy, co poprzednio potem, ale po spełnieniu tych warunków robimy inną tablicą: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, i tę tablicę robimy podobnie, i inicjujemy te same elementy też podobnie. ====== Uwzględnianie pozycji podanej w tablicy zebranych elementów ====== Tworzymy zmienną: {{Code|ile_dodac_do_poziomu_artykulu}} {{Patrz|ile_dodac_do_poziomu_artykulu}}, z drugiego elementu tablicy: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, następnię tworzymy inną zmienną: {{Code|ile_dodac_do_poziomu_artykulu_lub_nil}} {{Patrz|ile_dodac_do_poziomu_artykulu_lub_nil}}, co uwidaczniamy wzorem: <syntaxhighlight lang="lua"> local ile_dodac_do_poziomu_artykulu_lub_nil=((ile_dodac_do_poziomu_artykulu)and(ile_dodac_do_poziomu_artykulu>0))and ile_dodac_do_poziomu_artykulu or nil; </syntaxhighlight> Tą zmienną wykorzystamy do sformułowania: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}. {{Śródtekst|tekst=Tworzymy zmienną: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, którą wsadzamy do tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}, na pozycji: {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, przy pomocy funkcji: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}.|uchwyt=__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|>{{=}}}} {{Code|2}} ===== Będziemy tutaj operowali, gdy parametr drugi zwracany z funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, wskazuje na nie artykuł książki, zatem ten rozdział jest właśnie dla tego przypadku. ====== Odkodowanie i przygotowanie zmiennych artykułu linku, jej nazwy, także kodu języka i projektu ====== * Gdy pierwszy element tablicy: {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, jest tabelką, wtedy do przetworzenia jego wykorzystujemy funkcję: {{LinkŚródtytuł|ParametrPierwszy}}. * Dla drugiego takiego elementu z tego, co jest nazwą linku, wtedy gdy nazwa linku normalnego, czy szablonowego, jest zakodowana, to ją odkodujemy, którego każdy jego element kod odkodujemy według funkcji: {{LinkPatrz|p.DekodowanieTekstuNazwLinku}}, następnie z niej usuwamy znaki specjalne według: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, następnie usuwamy końcowe spacje i wewnątrz kolejne spacje zastępujemy jedną spacją, co robimy według: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}. * Dla trzeciego i czwartego takiego elementu, to jest kolejno kod języka i projektu, z: {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, te elementy odkodujemy, następnie z nich usuwamy końcowe spacje, a wewnątrz kolejne spacje zastępujemy jedną, według tej samej funkcji, co powyżej. ====== Przygotowanie zmiennych, inicjowanie tablicy: {{Code|tab_stare}}, i wsadzanie jej do tablicy ogólnej: {{Code|tabela_rozdzial_artykulow2}} ====== Dalej {{PobierzŚródtekst|tabela_rozdzial_artykulow2}}, także co {{PobierzŚródtekst|linia_artykokow}}, co wszystko robimy podobnie jak w rozdziale: {{LinkŚródtytuł|inicjacja_i_kompletowanie_zmiennych}}. {{PobierzŚródtekst|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Definicja tablicy: {{Code|tab_stare}}, inicjowanie jej elementów w różnych przypadkach ==== Przedstawiamy tutaj ogólną definicję zmiennej: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, które określają ogólnie jaką jego wersję użyć w poszczególnych punktach funkcji: {{LinkŚródtytuł|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}}. Ta wersja jest jedynie sformułowana dla artykułów w rozdziale, a nie dla rozdziałów, bo w tablicy, do której jest ona wsadzana przyjmuje ona możliwy numerek od "2" do "13", a nie również "1". Jej wersja ogólna: <syntaxhighlight lang="lua"> local tab_stare= { ---- Początek elementów alternatywnych { ---- Początek wersji dla artykułu tab_pozycja_elementow_w_spisie_rzeczy[1], -- artykuł bez pełnej nazwy ksiązki, bez parametrów i nagłówka, bo ich nie posiadałna samym początku; ---- lub { tab_pozycja_elementow_w_spisie_rzeczy[1][1], -- artykuł bez pełnej nazwy książki, bez parametrów i nagłówka; tab_pozycja_elementow_w_spisie_rzeczy[1][2], -- parametry artykułu, z którym on został wywołany w linku; tab_pozycja_elementow_w_spisie_rzeczy[1][3], -- nagłówek strony, wstawiany po parametrach lub nazwie strony; ["LINK"]=true, -- zmienna świadcząca, że nazwa artykułu jest z parametrami i nagłówkiem; }, ---- Koniec wersji dla artykułu tab_pozycja_elementow_w_spisie_rzeczy[2], -- nazwa linku artykułu normalnego, czy szablonowego; ---- Początek elementów alternatywnych dla przekierowania ---- Poczatek parametrów przekierowania { tablica_przekierowania[2], -- nazwa przekierowania artykułu; tablica_przekierowania[3], -- parametry przekierowania artykułu; tablica_przekierowania[4], -- nagłówek przekierowania artykułu; ["LINK"]=true, -- zmienna świadcząca, że nazwa przekierowania artykułu jest z parametrami i nagłówkiem; }, ---- lub tablica_przekierowania[2], -- nazwa przekierowania artykułu; ---- Koniec parametrów przekierowania tablica_przekierowania[1], -- tablica o definicji: { nazwa_przestrzeni_strony_przekierowania, -- nazwa przestrzzeni nazw przekierowania artykułu; nazwa_przestrzeni_ksiazki_strony_przekierowania, -- nazwa przestrzeni książki przekierowania artykułu; nazwa_ksiazki_strony_przekierowania, -- nazwa książki orzekierowania artykułu; true/nil, -- nil, gdy strona jest przekierowaniem, true, gdy strona główna jest taka, lub strona ma link do nieistniejącej strony w innej książce; true/false, -- true, gdy przekierowanie wskazuje na artykuł w taj samej książce, false, gdy nie; czy_przekierowanie), -- (true/false): true, gdy strona jest przekierowaniem, false jak nie, to strona główna książki, nil, w przeciwnym wypadkach; }; ---- lub nil, -- dotycząca przekierowania artykułu, a tutaj strona nie ma przekierowania, więc: nil; nil, -- dotycząca tablicy książki, na którą wskazuje przekierowanie, a tutaj nie ma tablicy, więc: nil; ---- Koniec elementów alternatywnych dla przekierowania tab_pozycja_elementow_w_spisie_rzeczy[3], -- kod języka; tab_pozycja_elementow_w_spisie_rzeczy[4], -- kod projektu; tab_pozycja_elementow_w_spisie_rzeczy[5], -- adres artykułu bez przetworzenia w linku normalnym,czy szablonowym; ile_dodac_do_poziomu_artykulu_lub_nil, -- parametr mający tylko wartości: 1, gdy do aktualnego poziomu musi być dodane jeden - ta wartość, tylko dotyczy artykułów należących do tej samej książki, lub: nil, gdy nic, czyli w pozostałych przypadkach; tab_pozycja_elementow_w_spisie_rzeczy[6], -- "url", pozycja świadcząca, że to jest link zewnętrzny, a nil, gdy to jest normalny link; }, ---- lub tab_pozycja_elementow_w_spisie_rzeczy[1], -- nazwa artykułu linku, która nie posiada, ani parametrów w sobie, a po nim nagłówka, lub bezpośrednio po nazwie; ---- lub { tab_pozycja_elementow_w_spisie_rzeczy[1][1], -- nazwa artykułu bez parametrów i nagłówka; tab_pozycja_elementow_w_spisie_rzeczy[1][2], -- parametry artykułu, z którym on został wywołany w linku; tab_pozycja_elementow_w_spisie_rzeczy[1][3], -- nagłówek strony, wstawiany po parametrach lub nazwie strony; ["LINK"]=true, -- zmienna świadcząca, że nazwa artykułu jest z parametrami i nagłówkiem; }, ---- Koniec elementów alternatywnych { #przedrostek_listy, -- poziom listy, w którym jest artykuł, dla artykułów w linii z listą, w innym wypadku dla artykułu znajdującego się w rozdziale dodatnim, czy ujemnym jest zero; przedrostek_listy, -- przedrostek listy w postaci wzoru, który jest w nawiasie we wzorze do przechwytywaniem: "\n([;%*:#])", przeciwnie dla artykułów w rozdziale dodatnim ma wartość pustą; tekstowy_przedrostek, -- numeracja dodatkowa w rozdziale dla artykułu, gdy nie ma takiej numeracji, bo nie da się jej wydzielić, to ma wartość pustą; w_rozdziale, -- czy artykuł jest w rozdziale dodatnim normalnym, czy centrowanym znacznikowym lub szablonowym, wtedy "true", w przeciwnym wypadku: "false"; }, linia_artykokow, -- skompletowana linia z artykułem, dla którego jest pozycja: "tab_stare"; true/false, -- true, gdy nazwa artykułu pochodzi bezpośrednio od szablonu {{SpisTreści}}, a w przeciwnym wypadku ma wartość: false; true/false, -- true, gdy artykuł pochodzi z tego samego podręcznika, przeciwnie: false; ---- Początek elementów alternaatywnych Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow2), -- który numer artykułu, w momencie wsadzenia do tabeli zbierania rozdziałów i w nich artykułów, nawet w rozdziale; ---- lub nil, -- nil, wtedy gdy link jest tak sobie dodany, który nie należy do żadnego spisu, a po nim elementy jego z nagłówkiem natomiast należą; ---- Koniec elementów alternatywnych }; </syntaxhighlight> W powyższym: {{Tag|syntaxhighlight|parametry=lang="lua"}}, dla elementu: {{Code|<nowiki>---- lub</nowiki>}}, jest powiedziane, że są dostępne alternatywy, które są zawarte w tablicy, że wybieramy te, aby nie spowodować czysto podwójnej tablicy, aby każda tablica zawierały inne elementy, jak wiele, a nie jedną tablicę, jak i łańcuchy znaków, wartość nil, powoduje, że czy ma być taka tablica, ale nie podwójna, co to znaczy podowójna, tzn. tablica w sobie zawiera inną jedyną tablicę, a tak nie może być, a jak zawiera jedną tablicę, to musi posiadać inne nienilowe elementy. == Funkcje tablicy transportu == === {{Śródtytuł|p.AnalizaNapisuWprowadzeniaTekstu}}{{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === Funkcja przyjmuje jako parametr nieskompletowaną i nieprzetworzony tekst napisu wprowadzenia tekstu. On kompletuje i przekształca go w odpowiedni sposób, aby otrzymać czysty tekst tytułu rozdziału. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaNapisuWprowadzeniaTekstu(rozdzial,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|rozdzial}} | _1 = Ten tekst tytułu rozdziału, o którym mówimy. | 2 = {{Code|pelna_nazwa_spisu_tresci}} | _2 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci}} | 3 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _3 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa}}. | 4 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _4 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}. | 5 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _5 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. }} ==== Obiekty typu {{nobold|{{Code|SZABLON}}}} ==== Funkcja korzysta z funkcji: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, funkcja ma zdefiniowaną pierwszą jej funkcję, która dla: {{Code|obiekt {{=}} "SZABLON"}}, używamy pierwsze dwie tabelę, te tabele: Pierwsza, która służy do zamieniania szablonów na ich parametry, tutaj pierwsza, to jest tablica: {{Code|{{sr|#p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{Patrz|p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu}}: <syntaxhighlight lang="lua"> p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={ ["MDL:RozszerzonyLink"]=1, ["Kompletność"]="", ["Kompletność krótka"]="", ["Kompletność junior"]="", ["Książka"]="", }; </syntaxhighlight> Druga: {{Code|{{sr|#p.szablony_dozwolone_w_nazwach_linkowych|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_dozwolone_w_nazwach_linkowych}}, też służy do tego samego. Funkcja wykorzystuje tablice szablonów korekt umieszczonych w nazwie linku, czy to normalnego, czy szablonowego (inteligentnego), którego definicja {{Patrz|p.szablony_dozwolone_w_nazwach_linkowych}}: <syntaxhighlight lang="lua"> p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; </syntaxhighlight> ===== Funkcje zawartości i dodatków, dla szablonów ===== One służą do zamieniania wywołań szablonowych na odpowiednie ich zawartości parametrów określone przez numery parametrów tych elementów w tych tabelach. Jeżeli przy którym wywołaniu przy wykorzystaniu kolejnych tych tabel przy użyciu funkcji: {{Code|{{sr|#p.ObiektySzablonoweFormatowaniaTekstu|p=StronicowyParser/Rozdziały}}}}, nastąpiło zamienienie, to funkcja pierwsza w: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, zakańcza się z tą wartością. A jeżeli nie to uruchamia się funkcja dodatków: {{Code|{{sr|#p.ObiektySzablonoweUzyskiwaniaUruchomieniaTekstu|p=StronicowyParser/Rozdziały}}}}, a jeśli nastąpiło zastąpienie, to funkcja kompletowania się kończy z tą wartością. ===== Szablonowe linki ===== Dalej, jeżeli tak się nie stało, to uruchamia się funkcja parametrów, w którym wywołanie szablonowe jest rozkładane na nazwę szablonu, modyfikatory i parametry. Dalej jest sprawdzanie, czy jest to link inteligentny według funkcji: {{Code|{{sr|#p.PodzielNaElementyNazwowyWikiLinkInteligentny|p=StronicowyParser/Potrzebne}}}}, a gdy jest, to funkcja kończy swoje działania z nazwą tego linku lub jego adresem wewnętrznym, a jeśli on nie jest tym, to sprawdza, czy są inne szablonowe linki, które podejrzewa się, poprzez wywołanie funkcji: {{Code|{{sr|#p.NazwaInnegoSzablonowegoLinkowegoObiektu|p=StronicowyParser/Potrzebne}}}}, a jeżeli jest tym linkiem, to funkcja składania zwraca też jak poprzednio nazwę linku lub jego adres wewnętrzny. A gdy nie, to w innym przypadku sprawdzane, czy to jest inny link wewnętrzny generowany przez szablony, które sprawdza funkcja tutaj: {{Code|{{sr|#p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy|p=StronicowyParser/Potrzebne}}}}, a jeżeli szablon jest tym linkiem, to funkcja składania zwraca jego nazwę linkową. ===== Szablony rozwijane przez {{lpg|JavaScript}} ===== A następnym krokiem jest sprawdzanie, czy nazwa szablonu jest jednych z elementów z tablicy: {{LinkPatrz|p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu}}, która ma ten element, te szablony wymienione w tej tablicy są po to, aby służyły do rozwijania przez JavaScript, są to elementy wikikodu, które są pracochłonne ze względu na ich skomplikowany kod, czy wikikod, nawet {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, i dlatego ich się nie rozwija przez stronicowy parser: {{Code|{{ld2|StronicowyParser}}}}, te nazwy szablonów są określone tablicą: {{Code|{{sr|#p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{Patrz|p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu}}: <syntaxhighlight lang="lua"> p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={ ["Cytuj"]=true, ["Cytuj stronę"]=true, ["Cytuj pismo"]=true, ["Cytuj odcinek"]=true, ["Cytuj książkę"]=true, ["Cytuj grę komputerową"]=true, }; </syntaxhighlight> I funkcja wtedy zwraca skompletowany szablon bez rozwijania jego, pod warunkiem, jeżeli jest tym szablonem o tej nazwę szablonu wywołującego. ===== Co jest zwracane w przypadku szablonów ===== Te powyżej elementy dla funkcji parametrów, w niej wartości są zwracane do niej, a jeżeli ona przyjmuje wartość nienilową, to do funkcji składania zwracana jest jego wartość, a przeciwnie jest zwracane pierwszy parametr szablonu do niej. ==== Obiekty typu: {{nobold|{{Code|NOWIKI}}}}, {{nobold|{{Code|PRE}}}} i {{nobold|{{Code|ŹRÓDŁO}}}} ==== A gdy dla elementów, jeśli nazwa obiektu jest: {{Code|obiekt {{=}} "NOWIKI"}}, {{Code|obiekt {{=}} "PRE"}}, lub: {{Code|obiekt {{=}} "ŹRÓDŁO"}}, znacznik jest rozkładany na czynniki pierwsze, a jeżeli nie ma zawartości, to przez funkcję składania jest zwracana wartość pusta, a jeśli nie, to pewne znaki specjalne tagu {{Tag|nowiki}}, które mają w nim być zamienione na tekst, są zamieniane na kody '''HTML''', co po tym, ta ona jest zwracana. ==== Obiekty typu: {{nobold|{{Code|MATH}}}}, {{nobold|{{Code|GALERIA}}}}, {{nobold|{{Code|MAPAOBRAZU}}}}, i {{nobold|{{Code|INNEPRE}}}} ==== A jeżeli wartość: {{Code|obiekt}}, jest nie równa: {{Code|MATH}}, {{Code|GALERIA}}, {{Code|MAPAOBRAZU}} lub {{Code|INNEPRE}}, wtedy zawartość zmiennej: {{Code|szablon}}, jest wykorzystana przez funkcję z modułu: {{Code|{{ld2|Specjalne}}}}, które w tej podanej zmiennej usuwa komentarze według: {{Code|{{sr|#p["UsuńKomentarze"]|p=Specjalne}}}}. Zamieniane są w nim linki zewnętrzne i wewnętrzne na ich nazwy lub adresy według: {{Code|{{sr|#p["ZamieńLinkiZewnętrzneNaTekst"]|p=Specjalne}}}} i {{Code|{{sr|#p["ZamieńLinkiWewnętrzneNaTekst"]|p=Specjalne}}}}. Są usuwane rozwinięte znaczniki szablonów stylów, używając do tego celu: {{Code|{{sr|#p["UsuńSzablonyStylów"]|p=Specjalne}}}}. To samo jest robione ze znacznikami na podstawie: {{Code|{{sr|#p["UsuńZnaczniki"]|p=Specjalne}}}}. Z tekstu szablonu są kasowane normalne kategorie nieszablonowe: {{Code|{{sr|#p["UsuńKategorie"]|p=Specjalne}}}}. Pozbywamy się, z zawartości, wywołań plików i interwiki, na podstawie: {{Code|{{sr|#p["UsuńWywołaniaPlików"]|p=Specjalne}}}} i {{Code|{{sr|#p["UsuńInterwiki"]|p=Specjalne}}}}. Dalej z tego obiektu są usuwane znaki specjalne na podstawie: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}. A gdy mamy do czynienia z innymi znacznikami, to są zwracane zamiast nich wartości puste do funkcji kompletowania. Dane, z funkcji kompletowania, które są zwracane do niej, są usuwane w niej znaki specjalne z całości tekstu rozdziału: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, i znaki białe z końców tekstu. Powtarzające się te znaki kolejne wewnątrz są zamieniane na jedną spację, to się dzieje według funkcji: {{Code|{{sr|#p["UsuńZbędneBiałeZnaki"]|p=Specjalne}}}}. Cały taki wynik operacji robiony w funkcji w nagłówku jest zwracany do niej, to jest, co uzyskujemy, nazwą rozdziału w postaci przetworzonej. === {{Śródtytuł|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}}{{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === Opisane tutaj są podfunkcje, z których korzysta ta funkcja, co one robią, do czego są wykorzystane. ==== Opis funkcji: {{nobold|{{Patrz|opis funkcji-ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}}}} ==== Funkcja służy do zbierania nagłówków i z niej danych, tzn. linków normalnych i inteligentnych, a także są zbierane nagłówki z listy bez artykułów i do nich elementy podlisty z artykułami w postaci wywołań linkowych w niej. Tworzona jest specjalnie dla tego tablica: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, która w odpowiedni sposób po przekształceniach wsadzana jest do tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} | _2 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}. | 3 = {{Code|nazwa_spisu_tresci}} | _3 = Jak w: {{LinkPatrz|nazwa_spisu_tresci}}. | 4 = {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} | _4 = Czy dany spis treści dla książki dla jej artykułu korzystanego, dla innej książki, wtedy to artykuł niekorzystany. | 5 = {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}} | _5 = Jest to wewnętrzny adres książki głównego spisu treści, jest to taki adres, na który wskazuje przekierowanie innej książki. | 6 = {{Code|__FUNKCJA_ZBIERANIA_DANYCH}} {{Patrz|__FUNKCJA_ZBIERANIA_DANYCH}} | _6 = {{Śródtekst|uchwyt=__FUNKCJA_ZBIERANIA_DANYCH|tekst= Jest to funkcja, która zbiera informacje o aktualnym artykule, która jest spisem treści, w postaci nieprzetworzonej przez funkcje z modułu: {{Code|{{ld2|StronicowyParser/Rozdziały}}}}, opisanego w: {{Code|{{sr|Rozdziały|StronicowyParser - Rozdziały|p=StronicowyParser}}}}, ta funkcja kopiuje, np. tabele danych bazy modułu: {{Code|{{m|Szablonowe}}}}, tzn: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, i tabelę rozkładu elementów w niej na czynniki pierwsze, tzn.: {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, co jest napisane w module: {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}}, a w dokumentacji: {{Code|{{sr|#p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|p=StronicowyParser/ZbieranieDanychStron}}}}. {{P|Przykład wywołania:}} <syntaxhighlight lang="lua"> __FUNKCJA_ZBIERANIA_DANYCH(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona); </syntaxhighlight> Funkcja nie zwraca niczego, jest funkcją, zwykłą bezwartościową procedurą, niezwracającą niczego. }} }} ==== Funkcje lokalne ==== Funkcja ma w sobie też definicję funkcji lokalnych zdefiniowanej w tej funkcji tutaj opisywanej. ===== {{Śródtytuł|FunkcjaIteratoraTekstuZakodowego}}{{Code|FunkcjaIteratoraTekstuZakodowego}} ===== Funkcja służy do pomijania tego, co nie jest linkiem wewnętrznym, czy zewnętrznym, czyli oznaczone kodami: {{Code|LINKW}} lub {{Code|LINKZ}}, czy nawet szablonem linku inteligentnego, czy innego służącego do generowania spisu treści, do tego celu również używa funkcji: {{LinkŚródtytuł|CzySzablonLinkLubLicencja}}, oraz tego co nie jest w liście określonym wzorem: {{Code|<nowiki>\n([#:*;]+)</nowiki>}}, z możliwym na początku tekstem, ale nie z kodami, w danej pozycji listy, lub co ewentualnie nie może być w możliwej liście, tzn.: {{Code|<nowiki>\n([#:*;]*)</nowiki>}}, ale wtedy musi tam być z tekstem, ale nie z kodami, na początku danej pozycji listy, nawet jeśli to nie jest lista, to też tak samo. Jeżeli funkcja nie ma kodów linków wewnętrznych, czy to normalnych, czy szablonowych, to się zakańcza z wartością domyślną {{Code|nil}}, w przeciwnym wypadku do sprawdzenia używa do tego funkcji: {{LinkŚródtytuł|PomijajLinkiOrazLicencje}}, do sprawdzania, czy to jest szablon linku, nawet licencji, a jeżeli ta funkcja zwraca wartość {{Code|true}}, to cała funkcja zwraca {{Code|nil}}. Jeżeli oba te sposoby nie dały rezultatu {{Code|true}}, to wtedy funkcja zwraca wartość pustą, czyli określonym ciągiem znakowym o szerokości zerowej. Funkcja ma w sobie dwie definicje funkcji: {{LinkŚródtytuł|PomijajLinkiOrazLicencje}} i {{LinkŚródtytuł|CzySzablonLinkLubLicencja}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local FunkcjaIteratoraTekstuZakodowego=function(szablon,obiekt,kod)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}. | 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}. | 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod}}. }} ====== {{Śródtytuł|PomijajLinkiOrazLicencje}}{{Code|PomijajLinkiOrazLicencje}} ====== Funkcja służy do sprawdzania, czy są odpowiednie szablony w kodzie. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PomijajLinkiOrazLicencje(szablon)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}. }} Funkcja sprawdza, czy to są szablony spisu treści określone tablicą o kluczach, którymi są nazwy szablonów, z wartościami {{Code|true}}, czyli: {{Code|{{sr|#p.szablony_licencji|p=StronicowyParser/obiekty}}}} {{Patrz|p.szablony_licencji}}: <syntaxhighlight lang="lua"> p.szablony_licencji={ ["Licencja"]=true, }; </syntaxhighlight> Tzn., czy to są szablony ozdobne woluminu, którego tablica: {{Code|{{sr|#p.szablony_ozdobne_stron_woluminu|p=StronicowyParser/obiekty}}}} {{Patrz|p.szablony_ozdobne_stron_woluminu}}, jest podobnie zbudowana, co poprzednia: <syntaxhighlight lang="lua"> p.szablony_ozdobne_stron_woluminu={ ["MDL:RozszerzonyLink"]=true, }; </syntaxhighlight> A jeżeli to są te szablony, to funkcja zwraca wartość {{Code|true}}. Jeżeli jednak to nie są te szablony, należy użyć tablic, tak samo zbudowanej jak poprzednie, czyli: {{Code|{{sr|#p.linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{Patrz|p.linki_szablony_elementy_spisu_rzeczy}}: <syntaxhighlight lang="lua"> p.linki_szablony_elementy_spisu_rzeczy={ ["SpisTreści"]=true, ["Sekcja referencyjna"]=true, ["Sr"]=true, ["Link wewnętrzny"]=true, ["Ly"]=true, ["LinkOgólne"]=true, ["Lo"]=true, }; </syntaxhighlight> Lub innej, inaczej zbudowanej niż poprzednie, ale ważne, że ma wartość niefałszywą, czyli taką tablicą: {{Code|{{sr|#p.inne_linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{Patrz|p.inne_linki_szablony_elementy_spisu_rzeczy}}, jest: <syntaxhighlight lang="lua"> p.inne_linki_szablony_elementy_spisu_rzeczy={ ["SpisPozycja"]={true,numer_link="tyt",}, ["SpisZw"]={false,numer=1,link=2,}, }; </syntaxhighlight> Jak są te nazwy szablonów określone ich kluczami tych tablic, to funkcja zwraca wartość {{Code|true}}. A jeżeli jednak nie, to funkcją: {{Code|{{sr|#p.PodzielNaElementyNazwowyWikiLinkInteligentny|p=StronicowyParser/Potrzebne}}}}, jest sprawdzane, czy to jest link inteligentny, nawet przekierowanie, jeżeli link taki jest, to funkcja zwraca wartość w tym wypadku {{Code|true}}. W przeciwnym wypadku, jak nie zwrócił tej wartości, bo taka nie jest nazwa szablonu, to funkcja nic nie zwraca. ====== {{Śródtytuł|CzySzablonLinkLubLicencja}}{{Code|CzySzablonLinkLubLicencja}} ====== Funkcja sprawdzająca za pomocą: {{LinkŚródtytuł|PomijajLinkiOrazLicencje}}, na podstawie parsowania tekstu szablonu funkcją: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}, z parsowanym przechwytywanym typem obiektu: {{Code|obiekt}} {{LinkPatrz|obiekt}}, równym {{Code|SZABLON}}. A jeżeli funkcja ta wspomniana w tekście zwróci {{Code|true}}, to funkcja taki obiekt policzy. Jeżeli liczba policzonych obiektów i znalezionych w wyniku parsowania jest większa od zera, to funkcja w nagłówku zwróci wartość {{Code|true}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local CzySzablonLinkLubLicencja=function(szablon)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}. }} ===== {{Śródtytuł|iteratorTekstuNaglowka}}{{Code|iteratorTekstuNaglowka}} ===== Jest to funkcja iteratora, którego funkcja zwracana (iterator) zwraca parametry, dla rozdziałów dodatnich i pozycji list. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function iteratorTekstuNaglowka() ... ---- Kod przed zwróceniem iteratora; return function() ... ---- Ciało funkcji iteratora; end; end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = Brak parametrów. | komórka1 = tak }} Iterator (funkcja zwracana przez funkcję w nagłówku) zwraca parametry w wyniku kolejnych wywołań: <syntaxhighlight lang="lua"> return przedrostek_listy,tekstowy_przedrostek,wyzyskane_wywolanie_szablonu_spis_tresci,true/false; </syntaxhighlight> Parametry zwracane przez iterator: {{OpisParametrów | 1 = {{Code|przedrostek_listy}} | _1 = Przedrostek pozycji listy, dla rozdziałów dodatnich jest wartością pustą. | 2 = {{Code|tekstowy_przedrostek}} | _2 = Numeracja pozycji w liście lub w nagłówku dodatnim. | 3 = {{Code|wyzyskane_wywolanie_szablonu_spis_tresci}} | _3 = Jest to rozdział bez numeracji i przedrostka pozycji listy. | 4 = {{Code|true/false}} | _4 = Wartość {{Code|true}} świadczy o rozdziale dodatnim, a w przypadku innym funkcja zwraca zawsze wartość tą {{Code|false}}, jako ostatni element zwracany. }} Funkcja jest przykowana na rozdziałów dodatnich i pozycji list oraz innych linii, dla tego pierwszego funkcja zwraca: <syntaxhighlight lang="lua"> return "","",wartosc,true; </syntaxhighlight> Gdzie {{Code|wartość}} jest to zawartość napisu wprowadzenia tekstu (rozdziału dodatniego). W przypadku list oraz innych niż rozdziały dodatnie samo wyrażenie regularne {{lpg|Lua}} w {{lpr|Lua|Scribunto}} jest okreslone przez wyrażenie: <syntaxhighlight lang="lua"> local re="([#:*;]*)[^%S\n]*([%d%.]*[^%S\n]*[^\n]+)"; </syntaxhighlight> Funkcja wykorzystuje funkcję: {{Code|{{sr|#p.RozdzieleniePrawidloweLiniiWeWprowadzenieTekstuNumeracjiOdJegoNapisu|p=StronicowyParser/Rozdziały}}}}, aby zamienić zawartość pozycji listy na rozdział bez numeracji i numerację, i dlatego ta funkcja zwraca te dwie wartości. Gdy funkcja jak nie znajdzie więcej linii (wyszukań), to zwraca wartość {{Code|nil}} mówiąca o zakończeniu iteracji iteratora, tzn. dane dla iteratora się zakończyły. ===== {{Śródtytuł|LiniaArtykulow}}{{Code|LiniaArtykulow}} ===== Funkcja dla szablonów kompletowania określonym tabelką: {{Code|{{sr|#p.szablony_kompletowania_stron_woluminu|p=StronicowyParser/obiekty}}}} {{Patrz|p.szablony_kompletowania_stron_woluminu}}, o definicji: <syntaxhighlight lang="lua"> p.szablony_kompletowania_stron_woluminu={ ["Kompletność"]=true, ["Kompletność krótka"]=true, ["Kompletność junior"]=true, ["Książka"]=true, }; </syntaxhighlight> Rozdziela linię na wiele obsługiwanych podlinii. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function LiniaArtykulow(linia)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|linia}} {{Patrz|linia}} | _1 = Pojedyncza przetworzona linia. }} ====== {{Śródtytuł|SzablonAnalizujKompletnosc}}{{Code|SzablonAnalizujKompletnosc}} ====== Funkcja sprawdza, czy dane wywołania szablonu, ma swoją nazwę szablonu, która jest nazwą szablonu kompletowania. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function SzablonAnalizujKompletnosc(szablon)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}. }} ====== Dalszy opis funkcji ====== Możliwe są dwie opcje, szablon kompletowania jest pierwszy, a drugi drugi, lub odwrotnie. Funkcja obsługuje te oba przypadki. Ona stawia przecinek dla obu wersji ustawień, jeśli potraktować układem link i szablon kompletowania, to wstawiany jest on pomiędzy tymi układami, aby rozdzielić na kolejne podlinie, w liście bez tych znaków pozycji. Dzielimy to na elementy przy pomocy funkcji: {{LzLua|mw.text.split}}, z opcją jako drugi parametr, aby uwzględniał wyrażenia regularne {{Code|false}}. W tych rozdzielonych linią tą funkcją dzielącą ciąg znakowy na tabelę, kody '''HTML''' przecinka są zamieniane na zwykły przecinek. Funkcja zwraca tabelę podzielonej linii na mniejsze podlinie, który można iterować funkcją: {{Code|pairs}} lub {{Code|ipairs}}. ===== {{Śródtytuł|WsadzanieParametryDoTablicy}}{{Code|WsadzanieParametryDoTablicy}} ===== Funkcja z parametrami, która uruchamiana jest inną w: {{LinkŚródtytuł|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}}, która wstawia tabelę: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, do ogólnej tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}, ewentualnie do: {{Code|tabela_rozdzial_artykulow}} {{Patrz|tabela_rozdzial_artykulow}} na pozycję {{Code|numer_podtablicy_w_tablicy}} {{Patrz|numer_podtablicy_w_tablicy}}, a dokładniej na: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, w funkcji: {{LinkŚródtytuł|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WsadzanieParametryDoTablicy(linia,czy_linia_uwzgledniana) return function(tabela_rozdzial_artykulow2,numer_podtablicy_w_tablicy,tab_stare) ... ---- ciało funkcji. end; end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|linia}} | _1 = Jak w: {{LinkPatrz|linia}}. | 2 = {{Code|czy_linia_uwzgledniana}} {{Patrz|czy_linia_uwzgledniana}} | _2 = Czy linię ma uwzględnić w powiększaniu poziomu o jeden dla artykułu. }} Parametry zwracanej funkcji przez tę w nagłówku: {{OpisParametrów | 1 = {{Code|tabela_rozdzial_artykulow2}} | _1 = Jak w: {{LinkPatrz|tabela_rozdzial_artykulow2}}. | 2 = {{Code|numer_podtablicy_w_tablicy}} | _2 = Jak w: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}. | 3 = {{Code|tab_stare}} | _3 = Jak w: {{LinkPatrz|tab_stare}}. }} ====== {{Śródtytuł|CzyZaliczac}}{{Code|CzyZaliczac}} ====== Funkcja sprawdza, czy z początkiem linii pozycji listy, bez przedrostka listy, jest z możliwym początkiem z odstępami i po nim cudzysłowem, po którym następują liczby, litery, w takim przypadku linia nie może składać się z tego z początkiem z literami lub cyframi, czyli ze znakami alfanumerycznymi, a po nim ze znakami interpunkcyjnymi. Jeśli to sprawdzenie było pozytywne, funkcja zwraca wartość logiczną odpowiadającą {{Code|true}}, w przeciwnym wypadku jest zwracane {{Code|false}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyZaliczac()...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = Brak parametrów funkcji. | komórka1 = tak }} Funkcja zwraca informację, czy daną linię traktować jako rozdział, chodzi tu o pozycje list, a w przypadku rozdziałów dodatnich wiadomo, że one są właśnie, że rozdziałami. ====== Dalszy opis funkcji ====== Funkcja sprawdza w funkcji zwracanej, czy rozważany rozdział jest centrowany danego artykułu, który siedzi pod rozdziałem lub w samym rozdziale, sprawdza, czy artykuł jest w rozdziale, sprawdza, czy linia jest uwzględniana: {{Code|czy_linia_uwzgledniana}} {{LinkPatrz|czy_linia_uwzgledniana}}. Funkcja sprawdza, czy w sekcji, czy w: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, czy istnieje element: {{Code|tab_stare[2]}} {{Patrz|tab_stare[2]}}, i dalszy: {{Code|tab_stare[2][1]}} {{Patrz|tab_stare[2][1]}} - ten element jest to w: {{Code|tab_stare}}, taki: {{Code|#przedrostek_listy}} {{Patrz|#przedrostek_listy}}, a jeżeli to sprawdzenie przeszło pozytywnie, który dla tego jest poziomem listy, lub zerowego rozdziału lub rozdziału dodatniego. Wtedy do: {{Code|tab_stare[2][1]}} {{LinkPatrz|tab_stare[2][1]}} jest ikrementowany on o liczbę jeden, czyli: Dla każdej linii zmienna: {{Code|nowa_linia}} {{Patrz|nowa_linia}}, przyjmuje wartość {{Code|false}}, wtedy dla przypadku przeciwnego, tzn. gdy mamy rozdział i uwzględniamy artykuły w jednej linii, którym jest rozdział będący pozycją listy, w zmiennej: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, jest ustawiany element: {{Code|tab_stare[2][4]}} {{Patrz|tab_stare[2][4]}}, czyli zmienna: {{Code|w_rozdziale}} {{LinkPatrz|w_rozdziale}}, zaczyna przyjmować wartość {{Code|true}}. Wsadzany jest wtedy do tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}, na pozycję: {{Code|numer_podtablicy_w_tablicy}} {{LinkPatrz|numer_podtablicy_w_tablicy}}, czyli to jest też: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, element {{Code|tab_stare}} {{LinkPatrz|tab_stare}}. Gdy: {{Code|nowa_linia}} {{LinkPatrz|nowa_linia}}, gdy jednak przyjmuje wartość {{Code|false}}, wtedy jeśli poziom rozdzialu istnieje lub przedrostek listy: {{Code|#przedrostek_listy}} {{LinkPatrz|#przedrostek_listy}}, jest większy od zera, i istnieje wiele artykułów w pozycji liście, wtedy: {{Code|ile>0}} (patrz na zmienną: {{Code|ile}} {{LinkPatrz|ile}}), lub funkcja: {{LinkŚródtytuł|CzyZaliczac}}, przyjmuje wartość odpowiadające prawdziwej, w taki przypadku zmiennej: {{Code|nowa_linia}} {{LinkPatrz|nowa_linia}}, przydzielamy wartość {{Code|true}}, by dalsze artykuły można było wsadzić, do tablicy z nowym rozdziałem. Powiększamy numer rozdziału o jeden, tzn.: {{Code|numer_rozdzialu_w_ksiazce}} {{Patrz|numer_rozdzialu_w_ksiazce}}, wtedy w zmiennej: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}, tabeli rozdziałów i w nich artykułów dla tej pozycji przydzielamy wartość równą tablicy pustej. Liczymy dla tego rozdział z artykułami, z funkcji: {{Code|{{sr|#p.AnalizaNapisuWprowadzeniaTekstu|p=StronicowyParser/SpisTreści}}}}, czyli obliczamy napis rozdziału, wtedy do pierwszej pozycji tablicy utworzonej w: {{Code|tabela_artykulow}} {{LinkPatrz|tabela_artykulow}}, dla miejsca: {{Code|numer_rozdzialu_w_ksiazce}} {{LinkPatrz|numer_rozdzialu_w_ksiazce}}, czyli: {{Code|tabela_rozdzial_artykulow}} {{LinkPatrz|tabela_rozdzial_artykulow}}, piszemy: <syntaxhighlight lang="lua"> tabela_rozdzial_artykulow[1]={rozdzial_na_tekst,{-#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,false,},linia,}; </syntaxhighlight> Gdzie: {{Code|rozdzial_na_tekst}} {{Patrz|rozdzial_na_tekst}}, to policzony rozdział, a {{Code|-#przedrostek_listy}} {{Patrz|-#przedrostek_listy}} to poziom rozdziału ujemnego, i dlatego minus. A: {{Code|przedrostek_listy}}, to znaki początkowe z listy: {{Code|wzor_do_linii_z_lista}} {{LinkPatrz|wzor_do_linii_z_lista}}, a: {{Code|tekstowy_przedrostek}}, to numeracja tego rozdziału. Wartość {{Code|false}} to jest ze ten rozdział nie jest centrowany, a: {{Code|linia}} {{LinkPatrz|linia}}, to wyzyskana linia bez początku pozycji listy. Ustawiamy: {{Code|tab_stare[2][4]}} {{LinkPatrz|tab_stare[2][4]}}, na wartość {{Code|true}} i element: {{Code|tab_stare[6]}} {{Patrz|tab_stare[6]}}, ustawiamy na zero. Tworzymy tablicę pustą na pozycję: {{LinkPatrz|numer_podtablicy_w_tablicy}}, tablicy: {{Code|tabela_rozdzial_artykulow}} {{LinkPatrz|tabela_rozdzial_artykulow}}, i do tej tablicy dodajemy: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, za pomocą funkcji: {{LzLua|table.insert}}. A jeżeli nie jest tworzony nowy rozdział z listy w tabeli: {{Code|tabela_artykulow}} {{LinkPatrz|tabela_artykulow}}, to na pozycję: {{Code|numer_podtablicy_w_tablicy}} {{LinkPatrz|numer_podtablicy_w_tablicy}}, jest dodawany element: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, również tak jest robione, gdy artykuły znajdują się w rozdziale dodatnim, tzn. równaniowej lub centrowanej, tzn. wtedy: {{Code|w_rozdziale}} {{LinkPatrz|w_rozdziale}}, przyjmuje wartość {{Code|true}}. ===== {{Śródtytuł|AnalizaLiniiObiekty}}{{Code|AnalizaLiniiObiekty}} ===== Za pomocą funkcji: {{LinkŚródtytuł|LiniaArtykulow}}, linia: {{Code|linia_rozwazana}} {{Patrz|linia_rozwazana}}, jest rozdzielana na wiele linii. To wiele linii w postaci tabeli, są iterowane od: {{Code|k {{=}} 1}}, do: {{Code|k {{=}} #tab_linia}}, gdzie: {{Code|#tab_linia}} {{Patrz|#tab_linia}}, jest to długość linii, tzn. liczba elementów numerowanych tablicy, tzn. od 1 do wzwyż aż do napotkania najbliższej przerwy lub końca. Wtedy dla pojedyńczej literacji mamy: {{Code|tab_linia[k]}} {{Patrz|tab_linia[k]}}. Iterujemy po kodach dla linii: {{Code|tab_linia[k]}} {{LinkPatrz|tab_linia[k]}}, przy pomocy funkcji: {{Code|{{sr|#p.IteratorSzablonowyZakodowanegoTekstu|p=Szablonowe}}}} {{Patrz|p.IteratorSzablonowyZakodowanegoTekstu}}, iteratorem: {{Code|iterator2}} {{Patrz|iterator2}}. Inicjujemy zmienną: {{Code|tab_nieobslugiwane {{=}} nil}}, następnie iterujemy: {{LinkPatrz|iterator2}}, uzyskując w każdej iteracji: {{Code|szablon}} {{LinkPatrz|szablon}}, {{Code|obiekt}} {{LinkPatrz|obiekt}}, i {{Code|kod}} {{LinkPatrz|kod}}. Gdy mamy do czynienia: {{Code|SZABLON}}, lub: {{Code|LINKW}}, albo: {{Code|LINKZ}}, wtedy dla elementów tego pierwszego bierzemy tablicę: {{Code|{{sr|#p.inne_linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.inne_linki_szablony_elementy_spisu_rzeczy}}, dla elementu: {{Code|nazwa_szablonu}} {{LinkPatrz|nazwa_szablonu}}. Jeżeli ten element: {{Code|tabela_spisu}}, istnieje, element pierwszy: {{Code|tabela_spisu[1]}}, jest równy wartości {{Code|true}}, wtedy mamy do czynienia z szablonem {{s|SpisPozycja}}. Jej element: {{Code|tabela_spisu["numer_link"]}}, istnieje i jest równy: {{Code|tyt}} {{Patrz|tyt}}. Iterujemy po kluczach i jego wartościach tego szablonu i sprawdzamy, który element jest równy właśnie tej wartości, a jeżeli jest taki, to dla elementów nie równych niemu, a właściwie w jego wartości iterujemy po kodach funkcją: {{LinkPatrz|p.IteratorSzablonowyZakodowanegoTekstu}}, dla tej wartości, w ten sposób zbieramy tablicę wielowymiarową najpierw po: {{Code|obiekt}} {{LinkPatrz|obiekt}}, później po: {{Code|kod}}, {{LinkPatrz|kod}}, którą nazwiemy: {{Code|tab_nieobslugiwane}} {{Patrz|tab_nieobslugiwane}}, którego każda jej wartość jest równa {{Code|true}}. Ta tablica mówi dla jakich elementów ma nie zbierać w tablicy elementów w głównej tablicy rozdziałów i jego artykułach. Dla elementu {{Code|tyt}} {{LinkPatrz|tyt}} tablicy parametrów przedrostek listy {{Code|przedrostek_listy}} ustawiamy na pusty, i liczmy numerację {{Code|tekstowy_przedrostek}} i zmienną: {{Code|szablon}} {{LinkPatrz|szablon}}, i ustawiamy zmienną {{Code|przerwij}} {{Patrz|przerwij}} na {{Code|true}}, aby dla tego szablonu nie zbierać elementów w tablicy rozdziałów i jego artykułów. W przypadku przeciwnym dla: {{Code|tabela_spisu}}, gdy ma wartość {{Code|false}}, wtedy mamy do czynienia z funkcją: {{s|SpisZw}}. Dla niej liczymy: {{Code|przedrostek_listy}}, którą ustawiamy na pustą wartość. A: {{Code|tekstowy_przedrostek}}, liczmy uzyskując parametr o kluczu: {{Code|tabela_spisu["numer"]}}, którym jest parametr o numerze: {{Code|1}}, i {{Code|szablon}} {{LinkPatrz|szablon}}, który liczmy z parametrów szablonu o kluczu {{Code|tabela_spisu["link"]}}, którym jest numer {{Code|2}}. Ustawiamy tutaj zmienną: {{Code|przerwij}} {{LinkPatrz|przerwij}}, na wartosć {{Code|true}}. ====== {{Śródtytuł|CzyObslugiwane}}{{Code|CzyObslugiwane}} ====== Funkcja sprawdzająca, które elementy są obsługiwane, jeśli istnieje tablica: {{Code|tab_nieobslugiwane}} {{LinkPatrz|tab_nieobslugiwane}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local CzyObslugiwane=function()...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = Brak parametrów. | komórka1 = tak }} ====== Dalszy opis funkcji ====== ; Uwzględnianie tablicy, reprezentujące artykuł w rozdziale, wstawiany do tablicy danego rozdziału{{dk}} Sprawdzany jest warunek: <syntaxhighlight lang="lua"> if((--[[wliczaj_artykuly_tego_rozdzialu]] true)and(not przerwij)and((not tab_nieobslugiwane)or(CzyObslugiwane())))then </syntaxhighlight> Jeśli to nie jest spełnione, to sprawdzamy {{ZobaczTeż|link_szablon}}, czy jest zebrana licencja z autorem według zmiennej: {{Code|licencja_z_autorem}} {{Patrz|licencja_z_autorem}}, i sprawdzamy, czy: {{Code|szablon}} {{LinkPatrz|szablon}}, jest wnetrzem szablonu, jeżeli tak, to ono przyjmuje wartość odpowiadająca prawdziwej, przeciwnie ma fałszywą. Jeżeli jest on spełniony, wtedy wywołujemy funkcję: {{LinkŚródtytuł|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}}, później dla: <syntaxhighlight lang="lua"> if((not czy_obslugiwane)and(not numer_rodzaju_artykulu_poprz))then </syntaxhighlight> Sprawdzamy, czy jest zrobione {{LinkZobaczTeż|link_szablon}}. ; Szablony licencji, i jego parametry, uwzględnianie jego tylko raz ca całą książkę, mieszcząca się w artykule głównej książki{{dk}} Następnie dla warunku, który musi być spełniony: <syntaxhighlight lang="lua"> if((not numer_rodzaju_artykulu_poprz)and(not przerwij)and(link_szablon)and((not tab_pozycja_elementow_w_spisie_rzeczy)or(not tab_pozycja_elementow_w_spisie_rzeczy[1]))and(czy_artykul_korzystany)and(licencja_z_autorem))then </syntaxhighlight> Sprawdzamy szablony licencji, takich jak: {{s|Licencja}}, według tablicy: {{Code|{{sr|#p.szablony_licencji|p=StronicowyParser/obiekty}}}}. Dla parametrów szablonu, liczymy jego parametry o kluczach, tzn.: {{Code|Autor}} {{Patrz|Autor}}, {{Code|Ukończone szkoły}} {{Patrz|Ukończone szkoły}}, {{Code|Email}} {{Patrz|Email}}, {{Code|Dotyczy}} {{Patrz|DotyczyDotyczy}}, {{Code|Licencjonowanie}} {{Patrz|Licencjonowanie}}, {{Code|Umowa prawna}} {{Patrz|Umowa prawna}} i {{Code|Konsekwencje}} {{Patrz|Konsekwencje}}, którego wartości przydzielamy do odpowiednich zmiennych. Każdą z tych zmiennych kompletujemy funkcją: {{Code|{{sr|#p.DekodowanieTekstuDekodowanieTekstu|p=StronicowyParser/Potrzebne}}}}, poprzez zwracaną przez nią funkcję, w której jest wykorzystywana: {{LzLua|frame:preprocess}}, do rozwijania. A dla elementu istniejącego: {{Code|Autor}}, piszemy zmienną: {{Code|licencja_z_autorem}} {{LinkPatrz|licencja_z_autorem}}, któremu przydzielamy wartość {{Code|false}}, co spowoduje, że nie będziemy analizowali jeszcze raz innego szablonu licencji. Te zmienne tego szablonu zbieramy natomiast w tablicy: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}, dane dotyczące licencji, więc: <syntaxhighlight lang="lua"> tabela_licencji_spisu_tresci={autor, szkoly, email, dotyczy, licencjonowanie, umowa_prawna, konsekwencje}; </syntaxhighlight> Co później przerywamy pętle po: {{Code|iterator2}} {{LinkPatrz|iterator2}}, instrukcją: {{Code|break}}. ==== Dalszy opis funkcji {{nobold|{{LinkPatrz|opis funkcji-ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}}}} ==== Ściągamy tekst, tabelę bazy i tabelę parametrów strony o nazwie: {{Code|nazwa_modulu}}, przy pomocy funkcji: {{Code|{{sr|#p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony|p=StronicowyParser/Tekst}}}}, według: <syntaxhighlight lang="lua"> local __FUNKCJA_PARAMETRY=nil; local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul:RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu,false,nil,nil,function(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html,szablony_magiczne,tabela_nazw) return nil; end,__FUNKCJA_PARAMETRY); </syntaxhighlight> Uruchamiamy funkcję: {{Code|__FUNKCJA_ZBIERANIA_DANYCH}} {{LinkPatrz|__FUNKCJA_ZBIERANIA_DANYCH}}, jeżeli istnieje. Dalej wywołujemy funkcję: {{Code|{{sr|#p.IterTekst|p=StronicowyParser/Rozdziały}}}}, w celu znalezienia tekstu: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, i iteratora: {{Code|iterator}} {{Patrz|iterator}}, po napisach wprowadzenia tekstu rozdziałów i ich zawartości rozdziałów i na podstawie: <syntaxhighlight lang="lua"> local iterator,tekst_rozwiniety_calego_artykulu=stronicowyparser_rozdzialy_modul.IterTekst(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,true,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych, __FUNKCJA, ---- funkcja sprawdza, czy wywołanie szablonowe, czy jest normalnym szablonem, a nie instrukcją warunkową, na podstawie pełnego adresu szablonu, określa i zawraca jego zawartość; __FUNKCJA2, ---- funkcja operująca na przygotowanej zawartości napisu wprowadzenia tekstu i tekście napisu wprowadzenia tekstu (rozdziału); __FUNKCJA_ANALIZA_SPISU ---- funkcja do analizy i modyfikacji tekstu (może zwracać wartość: nil) przed samym kodowaniem, jeżeli tekst jest w ogóle jest taki, a jeśli nie, ta funkcja wtedy nie jest uruchamiana, funkcja ta bezpośrednio jest wywoływana w tej funkcji, służy ona do wydzielenia spisu treści danego spisu treści, tak robimi, uruchamiając funkcję: IterTekst, dla każdego takiego spisu w odpowiedni sposób pokazaną w rozdziale: SpisTreści, co jest uwidocznione w module: Moduł:StronicowyParser/SpisTreści; ); </syntaxhighlight> Opis parametrów zwracanych: {{OpisParametrów | 1 = {{Code|iterator}} {{Patrz|iterator-IterTekst}} | _1 = Iterator po rozdziałach i jego zawartościach. | 2 = {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu-IterTekst}} | _2 = Tekst przetworzony rozdziału. }} Odczytujemy tabelę: {{LinkPatrz|p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu}} i dalej: {{Code|{{sr|#p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu|p=StronicowyParser/obiekty}}}} {{Patrz|p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu}}, o definicji: <syntaxhighlight lang="lua"> p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={ ["spis treści"]=true, ["spis tresci"]=true, ["spis rzeczy"]=true, }; </syntaxhighlight> Robimy kopię tych tabel i przyłączamy do metatabeli: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}, przy pomocy funkcji: {{LzLua|setmetatable}}, aby nie odrózniać tych rozdziałów ze względu na wielkość liter i polskie znaki. Inicjiujemy zmienną: {{Code|numer_rozdzialu_w_ksiazce}} {{LinkPatrz|numer_rozdzialu_w_ksiazce}}, wartością: {{Code|1}}, aby zbierać po kolei artykuły ze poszczególnego pojedynczego spisu treści. Ustawiamy maksymalny rozmiar rozdziału zerowego na {{Code|50}}, w zmiennej: {{Code|maksymalny_rozmiar_rozdzialu_zerowego}} {{Patrz|maksymalny_rozmiar_rozdzialu_zerowego}}, według: <syntaxhighlight lang="lua"> local maksymalny_rozmiar_rozdzialu_zerowego=50; </syntaxhighlight> ===== {{Śródtytuł|AnalizaRozdzialu}}{{Code|AnalizaRozdzialu}} ===== Jest to funkcja do zbierania danych z pojedynczego rozdziału o pewnej linii, inicjowana z jego parametrami, także tekstem rozdziału. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizaRozdzialu(rozdzial,linia_rozdzialu,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|rozdzial}} {{Patrz|rozdzial}} | _1 = Jest to tekst rozdziału. | 2 = {{Code|linia_rozdzialu}} {{Patrz|linia_rozdzialu}} | _2 = Jest to linia z rozdziałem. | 3 = {{Code|text}} {{Patrz|text}} | _3 = Jest to tekst rozdziału o pewnym napisie wprowadzenia tekstu. | 4 = {{Code|poziom_rozdzialu}} {{Patrz|poziom_rozdzialu}} | _4 = Jest to poziom danego rozdziału. | 5 = {{Code|poczatek_rozdzialu}} {{Patrz|poczatek_rozdzialu}} | _5 = Początek pozycji listy rozdziałów '''mechanizmu {{NS|k=mw|l=tak|pk=d}}'''. | 6 = {{Code|numeracja}} {{Patrz|numeracja}} | _6 = Numeracja rozdziału. | 7 = {{Code|czy_rozdzial_centrowany}} {{Patrz|czy_rozdzial_centrowany}} | _7 = Czy dany rozdział jest centrowany. }} ====== Tabela artykułów rozdziałów i w nich artykułów oraz jego poszczególnych ====== Tworzymy tabelę: {{Code|tabela_artykulow}} {{LinkPatrz|tabela_artykulow}}, jeżeli nie istnieje, z pustą tablicą, a później dla elementu: {{Code|numer_rozdzialu_w_ksiazce}} {{LinkPatrz|numer_rozdzialu_w_ksiazce}}, jeżeli też go nie ma, to też pustą tablicą. Dalej liczymy napis wprowadzenia tekstu rozdziału dodatniego funkcją: {{LinkŚródtytuł|p.AnalizaNapisuWprowadzeniaTekstu}} i uwzględniamy je w tabeli rozdziałów dla danego rozdziału pod wartością: {{Code|tabela_rozdzial_artykulow[1]}}, w sposób: <syntaxhighlight lang="lua"> tabela_rozdzial_artykulow[1]={rozdzial_na_tekst,{poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany,},rozdzial,}; </syntaxhighlight> Dalej wprowadzamy zmienną: {{Code|czy_spis_rzeczy_napis_wprowadzenia_tekstu}} {{Patrz|czy_spis_rzeczy_napis_wprowadzenia_tekstu}}, mówiącą, że rozpatrujemy rozdziały i artykuły w ramach spisu treści o nagłówkach typu: {{Code|Spis treści}}, czy: {{Code|SPIS RZECZY}}. Jeżeli wyszliśmy poza to, to ta zmienna, wtedy przyjmuje wartość fałszywą, a definicja inicjacji tej zmiennej jest: <syntaxhighlight lang="lua"> local czy_spis_rzeczy_napis_wprowadzenia_tekstu=(poziom_rozdzialu)and(not czy_jest_spis_tresci)and(not dalej_nie_rozwazaj_spis_tresci)and(jakie_spisy_tresci[spreparowany_uzyskany_tekst_rozdzialu]); </syntaxhighlight> Gdzie: {{OpisParametrów | 1 = {{Code|poziom_rozdzialu}} | _1 = Jak w: {{LinkPatrz|poziom_rozdzialu}}. | 2 = {{Code|czy_jest_spis_tresci}} {{Patrz|czy_jest_spis_tresci}} | _2 = Czy jesteśmy w spisie treści. | 3 = {{Code|dalej_nie_rozwazaj_spis_tresci}} {{Patrz|dalej_nie_rozwazaj_spis_tresci}} | _3 = Zmienna mówiąca, że teraz jesteśmy poza spisem treści. }} ====== Kiedy uwzględniamy artykuły rozdziału ====== Jeżeli jesteśmy w spisie, to zawsze są uwzględniane artykuły rozdziału, bo jest ustawiona zmienna: {{Code|wliczaj_artykuly_tego_rozdzialu}} {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, na {{Code|true}}, a poza na {{Code|nil}}. Funkcja jest przyszykowana jest dla jednego spisu treści, o ściśle określonym specjalnym napisie wprowadzenia tekstu, w danym spisie na stronie. ====== Iterator linii artykułu spis treści ====== Uruchamiamy iterator, używając funkcji lokalnej: {{LinkŚródtytuł|iteratorTekstuNaglowka}}, według wywołania: <syntaxhighlight lang="lua"> local iterator=iteratorTekstuNaglowka(); </syntaxhighlight> Ustawiamy zmienną: {{Code|wliczaj_artykuly_tego_rozdzialu}} {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, aby wliczał lub nie, pewne artykuły rozdziału według: <syntaxhighlight lang="lua"> local wliczaj_artykuly_tego_rozdzialu=((wliczaj_artykuly_tego_rozdzialu)or(not jakie_nie_rozdzialy[rozdzial])); </syntaxhighlight> Iterujemy otrzymanym ostatnio iteratorem, uzyskując kolejno zmienne: {{Code|przedrostek_listy}} {{LinkPatrz|przedrostek_listy}}, {{Code|tekstowy_przedrostek}} {{LinkPatrz|tekstowy_przedrostek}}, {{Code|linia}} {{LinkPatrz|linia}}, i {{Code|w_rozdziale}} {{LinkPatrz|w_rozdziale}}. ; Kiedy rozdziałów zerowych nie liczymy jako je{{dk}} Dla rozdziałów, które nie sa poziomami z listą, sprawdzamy, czy to jest rozdział zerowy przy pomocy funkcji: {{Code|{{sr|#p.CzyZerowyNapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, i sprawdzamy, czy on przekracza rozmiar: {{Code|maksymalny_rozmiar_rozdzialu_zerowego}} {{LinkPatrz|maksymalny_rozmiar_rozdzialu_zerowego}}, jeżeli jest tym rozdziałem i nie przekracza pewnego rozmiaru, to to jest rozdział traktowany jako zerowy niepomijany rozdział zerowy, wtedy ustawiamy zmienną: {{Code|nie_pomijaj_tego_rozdzialu}} {{Patrz|nie_pomijaj_tego_rozdzialu}}, na {{Code|true}}. ; A jeśli to są rozdziały z listy zaczynające się od dwukropka w linii{{dk}} Gdy taki rozdział nie pretenduje do zerowych, to sprawdzamy funkcją: {{Code|{{sr|#p.CzyNapisWprowadzeniaTekstuDwukropkowyZDwomaApostrofamiOrazLiniamiNieWoluminu|p=StronicowyParser/Rozdziały}}}}, czy ten rozdział pominąć, a jeżeli ona przyjmuje wartość odpowiadającej fałszywej, czyli {{Code|false}}, wtedy ustawiamy zmienną: {{Code|nie_pomijaj_tego_rozdzialu}} {{LinkPatrz|nie_pomijaj_tego_rozdzialu}}, na taką samą wartość jak poprzednio. ; Inne rozdziały{{dk}} Dla rozdziałów innych ta wartość przyjmuje postać {{Code|false}}. ; Rozdziały jednak nie pomijane{{dk}} Ustalamy wartość {{Code|ile}} {{Patrz|ile}}, na wartość zero. Dla rozdziałów, które nie są pomijane, wtedy zmienna: {{Code|nie_pomijaj_tego_rozdzialu}} {{LinkPatrz|nie_pomijaj_tego_rozdzialu}}, przyjmuje wartość {{Code|true}}, w takim przypadku wchodzimy do funkcji: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami|p=Szablonowe}}}}, wtedy dla linków szablonowych sprawdzamy, czy to są linki określone tablicami: {{Code|{{sr|#p.linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.linki_szablony_elementy_spisu_rzeczy}}, {{Code|{{sr|#p.inne_linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.inne_linki_szablony_elementy_spisu_rzeczy}} lub ewentualnie funkcją: {{Code|{{sr|#p.PodzielNaElementyNazwowyWikiLinkInteligentny|p=StronicowyParser/Potrzebne}}}}. Wtedy jeżeli jest to link, to ikrementujemy: {{Code|ile}} {{LinkPatrz|ile}}. Innym sposobem sprawdzania, czy to jest szablon linkowy jest tablica: {{Code|{{sr|#p.szablony_kompletowania_stron_woluminu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_kompletowania_stron_woluminu}}, lub {{Code|{{sr|#p.szablony_licencji|p=StroncowyParser/obiekty}}}} {{LinkPatrz|p.szablony_licencji}}. Wtedy jest zwracane to: <syntaxhighlight lang="lua"> return czy_szablon,obiekt,kod; </syntaxhighlight> Jeżeli to jest szablon linków, wtedy jest zwracana wartość: {{Code|return true,obiekt,kod}}, w przeciwnym wypadku: <syntaxhighlight lang="lua"> return false,obiekt,kod; </syntaxhighlight> Innym sposobem liczenia, czy to jest link, to wtedy może być to link normalny: {{Code|LINKW}}, który można sprawdzić funkcją: {{Code|{{sr|#p["CzyLinkWewnętrzny"]|p=Specjalne}}}}, wtedy jest zwracane {{Patrz|gołe linki}}: <syntaxhighlight lang="lua"> return true,obiekt,kod; </syntaxhighlight> Link też może być zewnętrzny, wtedy to jest: {{Code|LINKZ}}, wtedy funkcja zwraca wartości {{LinkPatrz|gołe linki}}. ; Kiedy analizujemy artykuły rozdziału{{dk}} Następnie dla linii: {{Code|linia_rozwazana}} {{LinkPatrz|linia_rozwazana}}, co na podstawie tego liczymy, czy daną linię nie uwzględnić, w obliczeniach według schematu: <syntaxhighlight lang="lua"> local czy_linia_uwzgledniana=mw.ustring.match(linia_rozwazana,"^%s*%-%-+(.*)%-%-+%s*$"); local czy_linia=((not czy_linia_uwzgledniana)and(mw.ustring.match(linia_rozwazana,"^%s*[%-%+%=%~]+.*$") or ((#przedrostek_listy==0)and((mw.ustring.match(linia_rozwazana,"!"))and(mw.ustring.match(linia_rozwazana,"[^!]%s*$")))) or mw.ustring.match(linia_rozwazana,"^%s*<")) or nil); </syntaxhighlight> Co następnie jest ustawiana: {{Code|nowa_linia}} {{LinkPatrz|nowa_linia}} na wartość {{Code|false}}. ; Warunek analizowania artykułów rozdziałów{{dk}} W obliczeniach raz uwzględniamy funkcję: {{LinkŚródtytuł|AnalizaLiniiObiekty}}, w ostatniej omawianej pętli, schematycznie: <syntaxhighlight lang="lua"> if(not czy_linia)then AnalizaLiniiObiekty(linia_rozwazana);end; </syntaxhighlight> ===== Dalsza część funkcji {{nobold|{{LinkPatrz|opis funkcji-ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}}}} ===== Bierzemy zakodowany tekst: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu-IterTekst}}, i po nim iterator: {{Code|iterator}} {{LinkPatrz|iterator-IterTekst}}, wtedy iterujemy po parametrach: <syntaxhighlight lang="lua"> local parsuj_rozdzialami=nil; ---- ta zmienna służy na wypadek, gdy by nie była żadnych rozwazanych rozdziałów; for rozdzial_tab,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany in iterator do ---- za każdym razem jest uruchamiana funkcja: AnalizaRozdzialu, przy rozważanym rozdziale; AnalizaRozdzialu(rozdzial_tab[1],rozdzial_tab[2],text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany); ---- oznacz zmienną: parsuj_rozdzialami, wartością; true, a póżniej jąnie inicjuj; if(not parsuj_rozdzialami)then parsuj_rozdzialami=true;end end; </syntaxhighlight> Parametry zwracane przez iterator: {{Code|iterator}} {{LinkPatrz|iterator-IterTekst}}: {{OpisParametrów | 1 = {{Code|rozdzial_tab}} {{Code|{{=}}}} {{Code|<nowiki>{ [1] = rozdzial, [2] = linia_rozdzialu, }</nowiki>}} | _1 = tabela składająca się z dwóch elementów: | 2 = Pod elementy tabeli: | nagłówek2 = tak | 3 = {{Code|rozdzial}} | _3 = Jak w: {{LinkPatrz|rozdzial}}. | 4 = {{Code|linia_rozdzialu}} | _4 = Jak w: {{LinkPatrz|linia_rozdzialu}}. | 5 = Inne parametry: | nagłówek5 = tak | 6 = {{Code|text}} | _6 = Jak w: {{LinkPatrz|text}}. | 7 = {{Code|poziom_rozdzialu}} | _7 =Jak w: {{LinkPatrz|poziom_rozdzialu}}. | 8 = {{Code|poczatek_rozdzialu}} | _8 = Jak w: {{LinkPatrz|poczatek_rozdzialu}}. | 9 = {{Code|numeracja}} | _9 = Jak w: {{LinkPatrz|numeracja}}. | 10 = {{Code|czy_rozdzial_centrowany}} | _10 = Jak w: {{LinkPatrz|czy_rozdzial_centrowany}}. }} Gdy nie napotkano żadnego rozważanego rozdziału, wtedy: {{Code|parsuj_rozdzialami}}, przyjmuje wartość {{Code|nil}}, w takim razie uruchamiana jest funkcja: <syntaxhighlight lang="lua"> if(not parsuj_rozdzialami)then AnalizaRozdzialu("Spis treści",nil,tekst_rozwiniety_calego_artykulu,nil,nil,nil,nil); end; </syntaxhighlight> Funkcja zwraca parametry inaczej, gdy artykuł, do którego należy książka jest korzystana, a inaczej, jeśli nie. W takim razie możemy zwracać na dwa sposoby: <syntaxhighlight lang="lua"> if(czy_artykul_korzystany)then return tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci; else return tabela_artykulow,nil,przekierowanie_spisu_tresci; end; </syntaxhighlight> Przy artykułach korzystanych, co jest określone zmienną: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany}}, tabelę: {{Code|tabela_licencji_spisu_tresci}} {{LinkPatrz|tabela_licencji_spisu_tresci}}, przy jego spisach treści w książkach, do której należy ten artykuł, zwracana jest jako wartość przeważnie jako nierówna {{Code|nil}}, a dla artykułów z innych książkach, ta wartość już jest taka, tzn. przyjmuje wartość {{Code|nil}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> om04d4urdhvkxl94uoa75lgec906kn1 560278 560277 2026-10-29T10:25:55Z Persino 2851 /* Definicja tablicy: {{Code|tab_stare}}, inicjowanie jej elementów w różnych przypadkach */ 560278 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Funkcje lokalne == === {{Śródtytuł|Ile}}{{Code|Ile}} === Funkcja liczy liczbę elementów we wszystkich podtabelach tabeli {{Code|tabela_rozdzial_artykulow2}} {{Patrz|tabela_rozdzial_artykulow2}}, licząc od drugiej tabeli, po pierwszej tabeli mieści się podtabela z informacjami o rozdziale, w której znajdują się artykuły określone dalszymi podtabelami. Tymi podtabelami są od {{Code|2}} do {{Code|7}}, czyli {{Code|6}} tabelek, w których są artykuły, które zaliczamy do kategorii wliczane, tzn. one nie znajdują się w takich rozdziałach {{ZobaczTeż|przetłumaczone rozdziały}} przetłumaczonych na małą literę, ale przedtem na niego była działana funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, usuwając z nich odstępy na końcach, w tym dolne myślniki, a wewnątrz zamieniając kolejne dolne myślniki i spacje na jedną spację. Metafunkcja, w metatablicy: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}, w: {{Code|{{ld2|Parametry}}}}, aby porównać to z tablicą {{Code|{{sr|#p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu|p=StronicowyParser/obiekty}}}} {{Patrz|p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu}}, by zaliczyć je do tego typu: <syntaxhighlight lang="lua"> p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, }; </syntaxhighlight> Musimy wykorzystać tak przetłumaczone rozdziały {{LinkZobaczTeż|przetłumaczone rozdziały}}, przy pomocy tej metatabelki, czy one zgadzają się z tą tablicą. Te rozdziały należą do kategorii rozdziałów, w których artykuły są pomijane przez: '''{{ld|StronicowyParser|Stronicowy parser}}''', ale jeżeli one należą do rozdziału spisu treści lub rzeczy, to tam jednak nie są takie, inaczej jest poza. A od: {{Code|7}} do {{Code|13}}, znajdują się podtabele z artykułami, które już należą już tam, czyli wtedy te drugie {{Code|6}} tabel. A ta powyższa tabela mieści się: {{Code|{{ld2|StronicowyParser/obiekty}}}}, a jego opis w: {{Code|{{sr|#p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu|p=StronicowyParser/obiekty}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow2)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|numer_rodzaju_artykulu}} | _1 = Numer podtabeli elementtu, do którego wsadzamy element. | 2 = {{Code|tabela_rozdzial_artykulow2}} | _2 = Tabela wraz podtabelami, od {{Code|1}} do {{Code|13}}, ale liczenie jest od {{Code|2}}. }} === {{Śródtytuł|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}}{{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === ==== Opis pobieżny funkcji ==== Funkcja do wstawiania elementów z ogólnej tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}, za pomocą funkcji wstawianej jako parametr: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{Patrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, do odpowiedniej pozycji artykularnej od: {{Code|2}} do {{Code|13}}, a pozycja {{Code|1}}, to pozycja rozdziałowa, ona jest określana przez zmienną: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{Patrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, a pozycja, którą wsadzamy to: {{Code|tab_stare}} {{Patrz|tab_stare}}. Funkcja zwraca pozycje: <syntaxhighlight lang="lua"> return numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych; </syntaxhighlight> Opis tych parametrów funkcji: {{OpisParametrów | 1 = {{Code|numer_rodzaju_artykulu_poprz}} {{Patrz|numer_rodzaju_artykulu_poprz}} | _1 = Jest to wartość zwrócona przez funkcję: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}} {{Patrz|AnalizujLinkSzablonyOrazLinki}}, w odróżnieniu od: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, jest mniejszy o jeden, czyli wtedy to była a poziomie przypisywania wartość {{Code|numer_rodzaju_artykulu}} {{Patrz|numer_rodzaju_artykulu}}, | 2 = {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{Patrz|tab_pozycja_elementow_w_spisie_rzeczy}} | _2 = Pierwsza artykularna zmienna zwrócona przez funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}. | 3 = {{Code|tablica_artykulow_zebranych}} {{Patrz|tablica_artykulow_zebranych}} | _3 = Tablica do sprawdzania, czy artykuł z nagłówkiem, ma powtórzenie tego bez nagłówka, czyli dla tego bez tego jest inna numeracja niż z nagłówkiem, a gdy niema tego bez, to wtedy dzięki tej funkcji numeracja tak się zachowuje, jak tam by był ten element, co prawda jest tam dodawany, ale jako z informacją taką, że bz numeru ustalanym przez funkcję: {{LinkŚródtytuł|Ile}}, A przy okazji, aby tego elementu nie dodawać ponownie, to w nim jest ustalana druga zmienna na {{Code|1}}, a wcześniej była na {{Code|0}}, i dlatego ona była wtedy dodawana, a później już tak nie jest. }} Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY,tabela_rozdzial_artykulow2,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow--[[]])...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|self}} {{Patrz|self}} | _1 = Zmienna obiektowa funkcji, z pominięciem, której funkcję można napisać zamiast {{Code|p.}} {{Patrz|p.}} jako {{Code|p:}} {{Patrz|p:}}. | 2 = {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} | _2 = Opis jest jak w: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. {{P|Przykład wywołania:}} <syntaxhighlight lang="lua"> __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow2,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); </syntaxhighlight> Funkcja jest wywoływana w: <syntaxhighlight lang="lua"> numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych=WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,WsadzanieParametryDoTablicy(linia,czy_linia_uwzgledniana),tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow); </syntaxhighlight> Gdzie funkcja: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, to jest: {{LinkŚródtytuł|WsadzanieParametryDoTablicy}}. | 3 = {{Code|tabela_rozdzial_artykulow2}} | _3 = Ta tabela działa według opisu jak w: {{LinkPatrz|tabela_rozdzial_artykulow2}}. | 4 = {{Code|tablica_artykulow_zebranych}} | _4 = Diała jak w: {{LinkPatrz|tablica_artykulow_zebranych}}. | 5 = {{Code|wliczaj_artykuly_tego_rozdzialu}} {{Patrz|wliczaj_artykuly_tego_rozdzialu}} | _5 = Jak przybiera odpowiadającą wartość fałszywą, to do: {{LinkPatrz|numer_rodzaju_artykulu}}, dodawane jest {{Code|6}}. | 6 = {{Code|szablon}} {{Patrz|szablon}} | _6 = Jest to tekst zakodowany całego linku wewnętrznego, czy zewnętrznego, czy linku inteligentnego w postaci szablonu. | 7 = {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} - | _7 = Kolejno to jest: '''nazwa przestrzeni nazw''', '''nazwa przestrzeni książki''' i '''nazwa książki'''. | 8 = {{Code|nazwa_spisu_tresci}} {{Patrz|nazwa_spisu_tresci}} | _8 = Jest to nazwa artykułu danego spisu treści. | 9 = {{Code|pelna_nazwa_spisu_tresci}} {{Patrz|pelna_nazwa_spisu_tresci}} | _9 = Uchwyt do bazy kodowania tekstu strony spisu treści. | 10 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} {{Patrz|pelna_nazwa_spisu_tresci_szablonowa}} | _10 = Nazwa strony szablonowa, jak są wywoływane w postaci szablonowej, gdzie są rozwijane adresy względne stron, poczytaj: {{lr2|Moduły/StronicowyParser/Rozdziały}} {{Patrz|Moduły/StronicowyParser/Rozdziały}}. | 11 = {{Code|nazwa_modulu}} {{Patrz|nazwa_modulu}} | _11 = Uchwyt do tablicy bazy kodowania zapisany w samej bazie dla danego artykułu, używany zamiast:{{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}. | 12 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} | _12 = Tablica bazy zapisana w postaci osobnej tablicy, a nie jej w wewnętrznej bazie, nie jak to było w postaci zmiennej {{LinkPatrz|nazwa_modulu}}, używana zamiast: {{LinkPatrz|nazwa_modulu}}. | 13 = {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} | _13 = Tablica rozłożeń zmiennej {{Code|szablon}}, dla zmiennych szablonowych, i dla funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}. | 14 = {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} | _14 = Obiekt i kod, czyli: zmienne charakteryzujące zmienną wnętrza: {{Code|szablon}} {{LinkPatrz|szablon}}. | 15 = {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} | _15 = Tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy. | 16 = {{Code|przedrostek_listy}} {{Patrz|przedrostek_listy}} | _16 = Tekstowy przedrostek listy z przedziału znaków: {{Code|<nowiki>[;%*:#]+</nowiki>}} {{Patrz|wzor_do_linii_z_lista}}, rozpoczynających pojedyncza linię. | 17 = {{Code|tekstowy_przedrostek}} {{Patrz|tekstowy_przedrostek}} | _17 = Numeracja rozdziału, z jakim rozpoczyna się rozdział. | 18 = {{Code|w_rozdziale}} {{Patrz|w_rozdziale}}} | _18 = Gdy link znajduje się w rozdziale dodatnim. | 19 = {{Code|linia_artykokow}} {{Patrz|linia_artykokow}} | _19 = Cała linia z artykułem lub artykułami, tą linią równie dobrze może być rozdział, tu chodzi o rozdział dodatni. }} ==== Opis pobieżny funkcji {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Przedstawiamy tutaj funkcję: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, która jest opisana w punkcie: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. Definicja funkcji w nagłówku: <syntaxhighlight lang="lua"> __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow2,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|tabela_rozdzial_artykulow2}} | _1 = Jak w: {{LinkPatrz|tabela_rozdzial_artykulow2}}, | 2 = {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} | _2 = Jak w: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, | 3 = {{Code|tab_stare}} | _3 = Jak w: {{LinkPatrz|tab_stare}}. }} Ta funkcja została opisana już wcześniej. ==== Szczegółowy opis funkcji głównej ==== Uruchamiamy funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, która jest zdefiniowana w module: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}}. Wywołujemy tę funkcję: <syntaxhighlight lang="lua"> local tab_pozycja_elementow_w_spisie_rzeczy,numer_rodzaju_artykulu,id,parametry_szablonu,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nil,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); </syntaxhighlight> Pierwszy zwracanym elementem: {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, jest to zmienna tablicowa, która opisuje parametry artykularno-linkowe, drugi: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, do której kategorii należy dany artykuł w linku, a trzeci parametr, to: {{Code|id}} {{Patrz|id}}, to zbierane są parametry linkowe z szablonu {{s|SpisTreści}}, czwarty to: {{Code|parametry_szablonu}} {{Patrz|parametry_szablonu}}, w przypadku szablonów inteligentnych linków, to są parametry wywołań tych szablonów, ostatni parametr to: {{Code|kom}} {{Patrz|kom}}, przedstawia on, jeśli {{Code|false}}, to artykuł zakwalifikowany został poprawnie do rozważań, a {{Code|true}} już nie. To {{LinkPatrz|parametry szablonu}}, to jest tablica z trzech elementów, tzn.: <syntaxhighlight lang="lua"> local parametry szablonu={tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,}; </syntaxhighlight> Elementy tablicy: {{OpisParametrów | 1 = {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} | _1 = Tablica parametrów uzyskanych z argumentów, i ich wartości, nazwanych i nienazwanych. | 2 = {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu}} | _2 = To jest nazwa uzyskanego szablonu linków inteligentnych lub nie. | 3 = {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow}} | _3 = Tabela modyfikatorów rozkładanego szablonu. }} Jeśli parametr: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, istnieje, to tworzona jest z niego taka sama wersja lub przy nieistnieniu parametru {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, do niego jest dodawana jest liczba {{Code|6}}. W ten sposób możemy zbierać artykuły książki i inne, które należą do pewnych rozdziałów i które nie należą. ===== {{Śródtytuł|ParametrPierwszy}}{{Code|ParametrPierwszy}} ===== Funkcja zbierające dane z {{Code|tab_artykul}} {{Patrz|tab_artykul}}, którego to jest czteroelementowa tablica, dotycząca danego artykułu. Drugim parametrem: {{Code|czy_niedozwolone}} {{Patrz|czy_niedozwolone}}, jest zmienna logiczna mówiąca, czy wskazać w nazwie artykułu, czy są dozwolone znaki, jest to sprawdzenie według wyrażenia regularnego: {{Code|<nowiki>[|<>{}%[%]]</nowiki>}} {{Patrz|wzor_znaki_niedozwolone}} na podstawie funkcji {{LzLua|mw.ustring.match}}, czyli: {{Code|znaki_niedozwolone}} {{Patrz|znaki_niedozwolone}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> ParametrPierwszy(tab_artykul,czy_niedozwolone)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|tab_artykul}} | _1 = Jak w: {{LinkPatrz|tab_artykul}}. | 2 = {{Code|czy_niedozwolone}} | _2 = Jak w: {{LinkPatrz|czy_niedozwolone}}. }} Gdzie: {{Code|tab_artykul}} {{LinkPatrz|tab_artykul}}, który jest pierwszym parametrem przyjmowanym przez funkcję, jest zdefiniowany jako czteroelementowa tablica, którą przypisujemy do czterem osobnych parametrów: <syntaxhighlight lang="lua"> local artykul=tab_artykul[1]; local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; local tablica_przekierowania=tab_artykul[4]; </syntaxhighlight> Jeżeli, któreś z parametrów z: {{LinkPatrz|tab_artykul}}, tzn. element jego {{Code|2}}-gi i {{Code|3}}-ci, istnieje, to układana jest trzyelementowa tablica z elementów od {{Code|1}} do {{Code|3}}, z dodatkowym elementem: {{Code|<nowiki>["LINK"] = true</nowiki>}}, a element czwarty to jest: {{Code|tablica_przekierowania}} {{Patrz|tablica_przekierowania}}, a jeżeli te dwa elementy, nie licząc czwartego, wcale nie istnieją, wtedy jest tworzony łańcuch znakowy z tego pierwszego elementu. Tak tworzymy, nową wersję tablicy: {{Code|tab_artykul}} {{Patrz|tab_artykul-nowa wersja}}, lub łańcuch znakowy, w postaci: <syntaxhighlight lang="lua"> tab_artykul=((artykul)and(parametry or naglowek))and{[1]=artykul,[2]=parametry,[3]=naglowek,["LINK"]=true,} or artykul; </syntaxhighlight> Funkcja zwraca trzy parametry, tzn. parametry: {{LinkPatrz|tab_artykul-nowa wersja}}, {{LinkPatrz|znaki_niedozwolone}} i tablicę przekierowania: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, co skrótowo piszemy: {{Patrz|zwracane-ParametrPierwszy}}: <syntaxhighlight lang="lua"> return tab_artykul,znaki_niedozwolone,tablica_przekierowania; </syntaxhighlight> ===== Rozwijanie nazwy linku artykułu ===== Do rozwijania nazwy linku służy funkcja: {{Code|{{sr|#p.DekodowanieTekstuNazwLinku|p=StronicowyParser/Pomocne}}}} {{Patrz|p.DekodowanieTekstuNazwLinku}}, pod względem szablonowym i nie tylko. Funkcja rozwija tą nazwę tym: {{LzLua|frame:preprocess}}, jedynie nie rozwija szablonów stronicowego parsera, podane podkategoriach w kategorii: {{Code|{{lk2|Szablony stronicowe}}}}, za pomocą odpowiednich metod, bo to by wywołało nieskończoną pętle, i dlatego takie szablony są zamieniane tylko na wywołania symboliczne. ==== Dalszy opis funkcji nadrzędnej przy istnieniu parametrów linkowych normalnych, czy szablonowych (linków inteligentnych) ==== ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|{{=}}}} {{Code|1}} ===== Tworzony jest numerek: {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{Patrz|numer_rodzaju_artykulu_w_podreczniku}}, który w stosunku do: {{LinkPatrz|numer_rodzaju_artykulu}}, jest większy o jeden, a schemat tej operacji: <syntaxhighlight lang="lua"> local numer_rodzaju_artykulu_w_podreczniku=numer_rodzaju_artykulu+1; </syntaxhighlight> ====== Tworzenie tablicy: {{nobold|{{Code|tablica_artykulow_zebranych}}}} ====== Opiszemy tutaj tablicę: {{Code|tablica_artykulow_zebranych}}, opisaną wstępnie w punkcie: {{LinkPatrz|tablica_artykulow_zebranych}}. ; Tablica{{dk}} {{nobold|{{Code|tab_pozycja_elementow_w_spisie_rzeczy[1]}}}}, nie jest tablicą{{dk}} Gdy element pierwszy: {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, nie jest tablicą, wtedy jedynie liczymy, czy ona ma znaki niedozwolone: {{Code|wzor_znaki_niedozwolone}} {{LinkPatrz|wzor_znaki_niedozwolone}}, a póżniej wiedząc ten element, który jest aktualną nazwą artykułu kiążki, tworzymy tabelę: {{ZobaczTeż|tablica_artykulow_zebranych-inicjacja}}: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; </syntaxhighlight> ; Gdy element{{dk}} {{nobold|{{Code|tab_pozycja_elementow_w_spisie_rzeczy[1]}}}}, jest łańcuchem znaków{{dk}} Wpierw liczone są parametry z wywołania, z opcją, czy ma liczyć, czy nazwa artykułu ma znaki niedozwolone, z funkcji: {{LinkŚródtytuł|ParametrPierwszy}}: <syntaxhighlight lang="lua"> tab_pozycja_elementow_w_spisie_rzeczy[1],znaki_niedozwolone,tablica_przekierowania=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],true); </syntaxhighlight> ; Inna książka - atrybut, tzn. czy artykuł wychodzi poza daną książkę, lub jego przekierowanie w niej kieruje na stronę poza nią{{dk}} Dalej sprawdzane jest, czy książka przyjmuje atrybut, tzn.: '''czy inna książka''', wtedy liczymy to z kodu z tablicy przekierowania: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, jeżeli jej wartość istnieje, tzn.: {{Code|czy_inna_ksiazka}} {{Patrz|czy_inna_ksiazka}}: <syntaxhighlight lang="lua"> local czy_inna_ksiazka=tablica_przekierowania and tablica_przekierowania[1] and tablica_przekierowania[1][5] or nil; </syntaxhighlight> ; Tablica przekierowania artykułu względem bieżącej książki{{dk}} Element: {{Code|<nowiki>[1][5]</nowiki>}}, to jest element tablicy: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, który przedstawia, czy to jest artykuł bieżącej książki, którego przekierowanie kieruje, wtedy ten parametr ma wartość {{Code|true}}, a gdy adres przekierowania wskazuje na inną książkę, wtedy {{Code|false}}. Jeśli ten parametr ma wartość fałszywą, wtedy jest sprawdzane, czy jest tablicą w: {{Code|czy_tablica}} {{Patrz|czy_tablica}}, według: <syntaxhighlight lang="lua"> czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); </syntaxhighlight> Lub w przeciwnym wypadku liczymy parametry artykularne z tablicy przekierowania: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, a jeżeli parametry lub nagłówek przekierowania, w tej tablicy, istnieje, wtedy parametr: {{Code|czy_tablica}} {{LinkPatrz|czy_tablica}}, przyjmuje wartość {{Code|true}}, w przeciwnym wypadku wartość fałszywą. Gdy ten element nie jest tablicą, to tworzona jest nazwa pełna artykułu: {{Code|tab_pozycja_elementow_w_spisie_rzeczy[1]}} i umieszczana w tablicy: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, w sposób, co dalej jest tworzona w dalszych operacjach tablica: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, z podobną tablicą początkową jak w poprzednim przypadku jego tworzenia, czyli jak w: {{LinkZobaczTeż|tablica_artykulow_zebranych-inicjacja}}. ; Tablica zebranych artykułów i porównywanie artykułu z nagłówkiem, czy istnieje wcześniejszy artykuł bez niego{{dk}} Gdy element jest jednak tablicą, też jest liczona pełna nazwa artykułu (gdy nazwa artykułu przekierowania istnieje, wtedy ona jest liczona z: {{Code|tablica_przekierowania[2]}}, w przeciwnym wypadku, jeśli element: {{Code|tab_pozycja_elementow_w_spisie_rzeczy[1]}}, jest tablicą, wtedy liczymy ją z: {{Code|tab_pozycja_elementow_w_spisie_rzeczy[1][1]}}, w innym wypadku z: {{Code|tab_pozycja_elementow_w_spisie_rzeczy[1]}}), a z niej liczymy tablicę: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, jak w: {{LinkZobaczTeż|tablica_artykulow_zebranych-inicjacja}}, w przypadku pierwszego artykułu nienagłówkowego. A w przypadku pierwszego artykułu, który może być tylko z nagłówkiem, bo tego bez, w spisie, artykuł poprzedni nie istnieje, a więc tego tam nie ma tam w takim przypadku. Gdy funkcja napotkała artykuł o takim samym stronie, co poprzednio, to do wartości początkowej, bez definiowania jeszcze raz tej samej tablicy, jest ustawiane odpowiednio: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych[3]=true; </syntaxhighlight> Co informuje, że artykuł jest ten sam, tylko inny nagłówek niż poprzedni, a poprzedni pierwszy jest bez niego. ====== Rozwijanie nazwy linku ====== Kompletowany jest drugi element tablicy: {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, rozwijając szablony w nim względem funkcji: {{LinkPatrz|p.DekodowanieTekstuNazwLinku}}. Dalej z tej nazwy są usuwane znaki specjalne według funkcji: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, z modułu: {{Code|{{ld2|Specjalne}}}}. Następnie działamy funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, które końcowe spacje usuwa, a wewnętrz powtarzające zamienia kolejne na jedną spację. ====== Dodawanie do tablicy problemów, jeśli nastąpił problem ze znakami niedozwolonymi ====== A między czasie, gdy mamy niedozwolone znaki: {{Code|znaki_niedozwolone}} {{LinkPatrz|znaki_niedozwolone}}, za pomocą funkcji pytającej sprawdzamy, czy element inny zgłoszeniowy został dodany do tablicy problemów: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, aż w końcu dodajemy ten problem, jeśli go nie ma przy pomocy funkcji: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. ====== {{Śródtytuł|inicjacja_i_kompletowanie_zmiennych}}Ustalanie nazwy jednostki, kompletowanie linii artykułów i inicjowanie pozycji, w tabeli zebranych elementów, w tabeli zebranych elementów ====== Ustalamy nazwę jednostki z funkcji: {{Code|{{sr|#p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem|p=StronicowyParser/Potrzebne}}}}, i inicjujemy tą wartością, czyli: {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, wartość starą: {{Code|stara_nazwa_jednostki}} {{Patrz|stara_nazwa_jednostki}}, według: <syntaxhighlight lang="lua"> ---- Piszanie pełnej nazwy jednostki bez parametrów i nagłówka; local nazwa_jednostki=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tab_pozycja_elementow_w_spisie_rzeczy[1],false); ---- Inicjowanie starej wartości tą policzoną; local stara_nazwa_jednostki=nazwa_jednostki; </syntaxhighlight> Dalej {{Śródtekst|uchwyt=tabela_rozdzial_artykulow2|tekst=inicjujemy pozycję, jeżeli nie istnieje taka, na podstawie policzonej wartości: {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, w tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}}}, według: <syntaxhighlight lang="lua"> if(not tabela_rozdzial_artykulow2[numer_rodzaju_artykulu_w_podreczniku])then tabela_rozdzial_artykulow2[numer_rodzaju_artykulu_w_podreczniku]={};end; </syntaxhighlight> Co {{Śródtekst|uchwyt=linia_artykokow|tekst=dalej linię artykułów {{Code|linia_artykokow}} {{LinkPatrz|linia_artykokow}}, kompletujemy, funkcją: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, z modułu: {{Code|{{ld2|Szablonowe}}}}, znając tablicę: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}}}, według: <syntaxhighlight lang="lua"> linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); </syntaxhighlight> ====== Uwzględnianie niepodanego elementu nienagłówkowego w tablicy zebranych parametrów ====== Gdy tablica przekierowania: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, istnieje, wtedy sprawdzamy, czy zmienna logiczna: {{Code|czy_tablica}} {{LinkPatrz|czy_tablica}}, jest prawdą i czy: {{Code|stara_nazwa_jednostki}} {{LinkPatrz|stara_nazwa_jednostki}}, czy jest nie pusta, w takim razie jej element: {{Code|<nowiki>[2]</nowiki>}}, przydzielany jest do zmiennej: {{Code|przekierowanie}} {{Patrz|przekierowanie}}, czyli parametrów nazwy artykułu przekierowania. Inicjujemy nową zmienną: {{Code|przekierowanie}} {{LinkPatrz|przekierowanie}}, z artykułu, parametrów i nagłówka, ale wpierw sprawdzamy, czy dwa ostatnie istnieją, według: <syntaxhighlight lang="lua"> przekierowanie=przekierowanie and ((tablica_przekierowania[3] or tablica_przekierowania[4]) and {przekierowanie, tablica_przekierowania[3], tablica_przekierowania[4],["LINK"]=true,} or przekierowanie) or nil; </syntaxhighlight> Tworzony jest nowy element: {{Code|nazwa jednostki}} {{Patrz|nazwajednostki-nowy}}, z: {{LinkPatrz|nazwa jednostki}}, parametrów i nagłówka, według rysu: <syntaxhighlight lang="lua"> nazwa_jednostki={nazwa_jednostki, tab_pozycja_elementow_w_spisie_rzeczy[1][2], tab_pozycja_elementow_w_spisie_rzeczy[1][3],["LINK"]=true,}; </syntaxhighlight> Jeżeli parametr drugi: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, a trzeci jej jest: {{Code|false}}, wtedy kreujemy tablicę: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}. Wsadzamy element: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, do zbioru: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, przy pomocy funkcji: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. Następnie jej drugiemu elementowi: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, dawana jest wartość {{Code|1}}, aby nie dało się ponownie tworzyć i wsadzać element: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, do tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}, na pozycji: {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, według funkcji: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, odpowiedzialny za artykuł nienagłówkowy, którego nie ma w spisach treści książki, ale są one w wersji nagłówkowej. Jeżeli tablica przekierowania: {{Code|tablica_przekierowania}} {{LinkPatrz|tablica_przekierowania}}, jednak nie istnieje, wtedy tak samo sprawdzamy, co poprzednio potem, ale po spełnieniu tych warunków robimy inną tablicą: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, i tę tablicę robimy podobnie, i inicjujemy te same elementy też podobnie. ====== Uwzględnianie pozycji podanej w tablicy zebranych elementów ====== Tworzymy zmienną: {{Code|ile_dodac_do_poziomu_artykulu}} {{Patrz|ile_dodac_do_poziomu_artykulu}}, z drugiego elementu tablicy: {{Code|tablica_artykulow_zebranych}} {{LinkPatrz|tablica_artykulow_zebranych}}, następnię tworzymy inną zmienną: {{Code|ile_dodac_do_poziomu_artykulu_lub_nil}} {{Patrz|ile_dodac_do_poziomu_artykulu_lub_nil}}, co uwidaczniamy wzorem: <syntaxhighlight lang="lua"> local ile_dodac_do_poziomu_artykulu_lub_nil=((ile_dodac_do_poziomu_artykulu)and(ile_dodac_do_poziomu_artykulu>0))and ile_dodac_do_poziomu_artykulu or nil; </syntaxhighlight> Tą zmienną wykorzystamy do sformułowania: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}. {{Śródtekst|tekst=Tworzymy zmienną: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, którą wsadzamy do tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}, na pozycji: {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, przy pomocy funkcji: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}.|uchwyt=__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|>{{=}}}} {{Code|2}} ===== Będziemy tutaj operowali, gdy parametr drugi zwracany z funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, wskazuje na nie artykuł książki, zatem ten rozdział jest właśnie dla tego przypadku. ====== Odkodowanie i przygotowanie zmiennych artykułu linku, jej nazwy, także kodu języka i projektu ====== * Gdy pierwszy element tablicy: {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, jest tabelką, wtedy do przetworzenia jego wykorzystujemy funkcję: {{LinkŚródtytuł|ParametrPierwszy}}. * Dla drugiego takiego elementu z tego, co jest nazwą linku, wtedy gdy nazwa linku normalnego, czy szablonowego, jest zakodowana, to ją odkodujemy, którego każdy jego element kod odkodujemy według funkcji: {{LinkPatrz|p.DekodowanieTekstuNazwLinku}}, następnie z niej usuwamy znaki specjalne według: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, następnie usuwamy końcowe spacje i wewnątrz kolejne spacje zastępujemy jedną spacją, co robimy według: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}. * Dla trzeciego i czwartego takiego elementu, to jest kolejno kod języka i projektu, z: {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, te elementy odkodujemy, następnie z nich usuwamy końcowe spacje, a wewnątrz kolejne spacje zastępujemy jedną, według tej samej funkcji, co powyżej. ====== Przygotowanie zmiennych, inicjowanie tablicy: {{Code|tab_stare}}, i wsadzanie jej do tablicy ogólnej: {{Code|tabela_rozdzial_artykulow2}} ====== Dalej {{PobierzŚródtekst|tabela_rozdzial_artykulow2}}, także co {{PobierzŚródtekst|linia_artykokow}}, co wszystko robimy podobnie jak w rozdziale: {{LinkŚródtytuł|inicjacja_i_kompletowanie_zmiennych}}. {{PobierzŚródtekst|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Definicja tablicy: {{Code|tab_stare}}, inicjowanie jej elementów w różnych przypadkach ==== Przedstawiamy tutaj ogólną definicję zmiennej: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, które określają ogólnie jaką jego wersję użyć w poszczególnych punktach funkcji: {{LinkŚródtytuł|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}}. Ta wersja jest jedynie sformułowana dla artykułów w rozdziale, a nie dla rozdziałów, bo w tablicy, do której jest ona wsadzana przyjmuje ona możliwy numerek od "2" do "13", a nie również "1". Jej wersja ogólna: <syntaxhighlight lang="lua"> local tab_stare= { ---- Początek elementów alternatywnych { ---- Początek wersji dla artykułu tab_pozycja_elementow_w_spisie_rzeczy[1], -- artykuł bez pełnej nazwy ksiązki, bez parametrów i nagłówka, bo ich nie posiadałna samym początku; ---- lub { tab_pozycja_elementow_w_spisie_rzeczy[1][1], -- artykuł bez pełnej nazwy książki, bez parametrów i nagłówka; tab_pozycja_elementow_w_spisie_rzeczy[1][2], -- parametry artykułu, z którym on został wywołany w linku; tab_pozycja_elementow_w_spisie_rzeczy[1][3], -- nagłówek strony, wstawiany po parametrach lub nazwie strony; ["LINK"]=true, -- zmienna świadcząca, że nazwa artykułu jest z parametrami i nagłówkiem; }, ---- Koniec wersji dla artykułu tab_pozycja_elementow_w_spisie_rzeczy[2], -- nazwa linku artykułu normalnego, czy szablonowego; ---- Początek elementów alternatywnych dla przekierowania ---- Poczatek parametrów przekierowania { tablica_przekierowania[2], -- nazwa przekierowania artykułu; tablica_przekierowania[3], -- parametry przekierowania artykułu; tablica_przekierowania[4], -- nagłówek przekierowania artykułu; ["LINK"]=true, -- zmienna świadcząca, że nazwa przekierowania artykułu jest z parametrami i nagłówkiem; }, ---- lub tablica_przekierowania[2], -- nazwa przekierowania artykułu; ---- Koniec parametrów przekierowania tablica_przekierowania[1], -- tablica o definicji, którego przedstawienie: { nazwa_przestrzeni_strony_przekierowania, -- nazwa przestrzzeni nazw przekierowania artykułu; nazwa_przestrzeni_ksiazki_strony_przekierowania, -- nazwa przestrzeni książki przekierowania artykułu; nazwa_ksiazki_strony_przekierowania, -- nazwa książki orzekierowania artykułu; true/nil, -- nil, gdy strona jest przekierowaniem, true, gdy strona główna jest taka, lub strona ma link do nieistniejącej strony w innej książce; true/false, -- true, gdy przekierowanie wskazuje na artykuł w taj samej książce, false, gdy nie; czy_przekierowanie), -- (true/false): true, gdy strona jest przekierowaniem, false jak nie, to strona główna książki, nil, w przeciwnym wypadkach; }; -- koniec przedstawienia; ---- lub nil, -- dotycząca przekierowania artykułu, a tutaj strona nie ma przekierowania, więc: nil; nil, -- dotycząca tablicy książki, na którą wskazuje przekierowanie, a tutaj nie ma tablicy, więc: nil; ---- Koniec elementów alternatywnych dla przekierowania tab_pozycja_elementow_w_spisie_rzeczy[3], -- kod języka; tab_pozycja_elementow_w_spisie_rzeczy[4], -- kod projektu; tab_pozycja_elementow_w_spisie_rzeczy[5], -- adres artykułu bez przetworzenia w linku normalnym,czy szablonowym; ile_dodac_do_poziomu_artykulu_lub_nil, -- parametr mający tylko wartości: 1, gdy do aktualnego poziomu musi być dodane jeden - ta wartość, tylko dotyczy artykułów należących do tej samej książki, lub: nil, gdy nic, czyli w pozostałych przypadkach; tab_pozycja_elementow_w_spisie_rzeczy[6], -- "url", pozycja świadcząca, że to jest link zewnętrzny, a nil, gdy to jest normalny link; }, ---- lub tab_pozycja_elementow_w_spisie_rzeczy[1], -- nazwa artykułu linku, która nie posiada, ani parametrów w sobie, a po nim nagłówka, lub bezpośrednio po nazwie; ---- lub { tab_pozycja_elementow_w_spisie_rzeczy[1][1], -- nazwa artykułu bez parametrów i nagłówka; tab_pozycja_elementow_w_spisie_rzeczy[1][2], -- parametry artykułu, z którym on został wywołany w linku; tab_pozycja_elementow_w_spisie_rzeczy[1][3], -- nagłówek strony, wstawiany po parametrach lub nazwie strony; ["LINK"]=true, -- zmienna świadcząca, że nazwa artykułu jest z parametrami i nagłówkiem; }, ---- Koniec elementów alternatywnych { #przedrostek_listy, -- poziom listy, w którym jest artykuł, dla artykułów w linii z listą, w innym wypadku dla artykułu znajdującego się w rozdziale dodatnim, czy ujemnym jest zero; przedrostek_listy, -- przedrostek listy w postaci wzoru, który jest w nawiasie we wzorze do przechwytywaniem: "\n([;%*:#])", przeciwnie dla artykułów w rozdziale dodatnim ma wartość pustą; tekstowy_przedrostek, -- numeracja dodatkowa w rozdziale dla artykułu, gdy nie ma takiej numeracji, bo nie da się jej wydzielić, to ma wartość pustą; w_rozdziale, -- czy artykuł jest w rozdziale dodatnim normalnym, czy centrowanym znacznikowym lub szablonowym, wtedy "true", w przeciwnym wypadku: "false"; }, linia_artykokow, -- skompletowana linia z artykułem, dla którego jest pozycja: "tab_stare"; true/false, -- true, gdy nazwa artykułu pochodzi bezpośrednio od szablonu {{SpisTreści}}, a w przeciwnym wypadku ma wartość: false; true/false, -- true, gdy artykuł pochodzi z tego samego podręcznika, przeciwnie: false; ---- Początek elementów alternaatywnych Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow2), -- który numer artykułu, w momencie wsadzenia do tabeli zbierania rozdziałów i w nich artykułów, nawet w rozdziale; ---- lub nil, -- nil, wtedy gdy link jest tak sobie dodany, który nie należy do żadnego spisu, a po nim elementy jego z nagłówkiem natomiast należą; ---- Koniec elementów alternatywnych }; </syntaxhighlight> W powyższym: {{Tag|syntaxhighlight|parametry=lang="lua"}}, dla elementu: {{Code|<nowiki>---- lub</nowiki>}}, jest powiedziane, że są dostępne alternatywy, które są zawarte w tablicy, że wybieramy te, aby nie spowodować czysto podwójnej tablicy, aby każda tablica zawierały inne elementy, jak wiele, a nie jedną tablicę, jak i łańcuchy znaków, wartość nil, powoduje, że czy ma być taka tablica, ale nie podwójna, co to znaczy podowójna, tzn. tablica w sobie zawiera inną jedyną tablicę, a tak nie może być, a jak zawiera jedną tablicę, to musi posiadać inne nienilowe elementy. == Funkcje tablicy transportu == === {{Śródtytuł|p.AnalizaNapisuWprowadzeniaTekstu}}{{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === Funkcja przyjmuje jako parametr nieskompletowaną i nieprzetworzony tekst napisu wprowadzenia tekstu. On kompletuje i przekształca go w odpowiedni sposób, aby otrzymać czysty tekst tytułu rozdziału. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizaNapisuWprowadzeniaTekstu(rozdzial,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|rozdzial}} | _1 = Ten tekst tytułu rozdziału, o którym mówimy. | 2 = {{Code|pelna_nazwa_spisu_tresci}} | _2 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci}} | 3 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _3 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa}}. | 4 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _4 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}. | 5 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _5 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}. }} ==== Obiekty typu {{nobold|{{Code|SZABLON}}}} ==== Funkcja korzysta z funkcji: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, funkcja ma zdefiniowaną pierwszą jej funkcję, która dla: {{Code|obiekt {{=}} "SZABLON"}}, używamy pierwsze dwie tabelę, te tabele: Pierwsza, która służy do zamieniania szablonów na ich parametry, tutaj pierwsza, to jest tablica: {{Code|{{sr|#p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{Patrz|p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu}}: <syntaxhighlight lang="lua"> p.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu={ ["MDL:RozszerzonyLink"]=1, ["Kompletność"]="", ["Kompletność krótka"]="", ["Kompletność junior"]="", ["Książka"]="", }; </syntaxhighlight> Druga: {{Code|{{sr|#p.szablony_dozwolone_w_nazwach_linkowych|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_dozwolone_w_nazwach_linkowych}}, też służy do tego samego. Funkcja wykorzystuje tablice szablonów korekt umieszczonych w nazwie linku, czy to normalnego, czy szablonowego (inteligentnego), którego definicja {{Patrz|p.szablony_dozwolone_w_nazwach_linkowych}}: <syntaxhighlight lang="lua"> p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; </syntaxhighlight> ===== Funkcje zawartości i dodatków, dla szablonów ===== One służą do zamieniania wywołań szablonowych na odpowiednie ich zawartości parametrów określone przez numery parametrów tych elementów w tych tabelach. Jeżeli przy którym wywołaniu przy wykorzystaniu kolejnych tych tabel przy użyciu funkcji: {{Code|{{sr|#p.ObiektySzablonoweFormatowaniaTekstu|p=StronicowyParser/Rozdziały}}}}, nastąpiło zamienienie, to funkcja pierwsza w: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, zakańcza się z tą wartością. A jeżeli nie to uruchamia się funkcja dodatków: {{Code|{{sr|#p.ObiektySzablonoweUzyskiwaniaUruchomieniaTekstu|p=StronicowyParser/Rozdziały}}}}, a jeśli nastąpiło zastąpienie, to funkcja kompletowania się kończy z tą wartością. ===== Szablonowe linki ===== Dalej, jeżeli tak się nie stało, to uruchamia się funkcja parametrów, w którym wywołanie szablonowe jest rozkładane na nazwę szablonu, modyfikatory i parametry. Dalej jest sprawdzanie, czy jest to link inteligentny według funkcji: {{Code|{{sr|#p.PodzielNaElementyNazwowyWikiLinkInteligentny|p=StronicowyParser/Potrzebne}}}}, a gdy jest, to funkcja kończy swoje działania z nazwą tego linku lub jego adresem wewnętrznym, a jeśli on nie jest tym, to sprawdza, czy są inne szablonowe linki, które podejrzewa się, poprzez wywołanie funkcji: {{Code|{{sr|#p.NazwaInnegoSzablonowegoLinkowegoObiektu|p=StronicowyParser/Potrzebne}}}}, a jeżeli jest tym linkiem, to funkcja składania zwraca też jak poprzednio nazwę linku lub jego adres wewnętrzny. A gdy nie, to w innym przypadku sprawdzane, czy to jest inny link wewnętrzny generowany przez szablony, które sprawdza funkcja tutaj: {{Code|{{sr|#p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy|p=StronicowyParser/Potrzebne}}}}, a jeżeli szablon jest tym linkiem, to funkcja składania zwraca jego nazwę linkową. ===== Szablony rozwijane przez {{lpg|JavaScript}} ===== A następnym krokiem jest sprawdzanie, czy nazwa szablonu jest jednych z elementów z tablicy: {{LinkPatrz|p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu}}, która ma ten element, te szablony wymienione w tej tablicy są po to, aby służyły do rozwijania przez JavaScript, są to elementy wikikodu, które są pracochłonne ze względu na ich skomplikowany kod, czy wikikod, nawet {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, i dlatego ich się nie rozwija przez stronicowy parser: {{Code|{{ld2|StronicowyParser}}}}, te nazwy szablonów są określone tablicą: {{Code|{{sr|#p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}} {{Patrz|p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu}}: <syntaxhighlight lang="lua"> p.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu={ ["Cytuj"]=true, ["Cytuj stronę"]=true, ["Cytuj pismo"]=true, ["Cytuj odcinek"]=true, ["Cytuj książkę"]=true, ["Cytuj grę komputerową"]=true, }; </syntaxhighlight> I funkcja wtedy zwraca skompletowany szablon bez rozwijania jego, pod warunkiem, jeżeli jest tym szablonem o tej nazwę szablonu wywołującego. ===== Co jest zwracane w przypadku szablonów ===== Te powyżej elementy dla funkcji parametrów, w niej wartości są zwracane do niej, a jeżeli ona przyjmuje wartość nienilową, to do funkcji składania zwracana jest jego wartość, a przeciwnie jest zwracane pierwszy parametr szablonu do niej. ==== Obiekty typu: {{nobold|{{Code|NOWIKI}}}}, {{nobold|{{Code|PRE}}}} i {{nobold|{{Code|ŹRÓDŁO}}}} ==== A gdy dla elementów, jeśli nazwa obiektu jest: {{Code|obiekt {{=}} "NOWIKI"}}, {{Code|obiekt {{=}} "PRE"}}, lub: {{Code|obiekt {{=}} "ŹRÓDŁO"}}, znacznik jest rozkładany na czynniki pierwsze, a jeżeli nie ma zawartości, to przez funkcję składania jest zwracana wartość pusta, a jeśli nie, to pewne znaki specjalne tagu {{Tag|nowiki}}, które mają w nim być zamienione na tekst, są zamieniane na kody '''HTML''', co po tym, ta ona jest zwracana. ==== Obiekty typu: {{nobold|{{Code|MATH}}}}, {{nobold|{{Code|GALERIA}}}}, {{nobold|{{Code|MAPAOBRAZU}}}}, i {{nobold|{{Code|INNEPRE}}}} ==== A jeżeli wartość: {{Code|obiekt}}, jest nie równa: {{Code|MATH}}, {{Code|GALERIA}}, {{Code|MAPAOBRAZU}} lub {{Code|INNEPRE}}, wtedy zawartość zmiennej: {{Code|szablon}}, jest wykorzystana przez funkcję z modułu: {{Code|{{ld2|Specjalne}}}}, które w tej podanej zmiennej usuwa komentarze według: {{Code|{{sr|#p["UsuńKomentarze"]|p=Specjalne}}}}. Zamieniane są w nim linki zewnętrzne i wewnętrzne na ich nazwy lub adresy według: {{Code|{{sr|#p["ZamieńLinkiZewnętrzneNaTekst"]|p=Specjalne}}}} i {{Code|{{sr|#p["ZamieńLinkiWewnętrzneNaTekst"]|p=Specjalne}}}}. Są usuwane rozwinięte znaczniki szablonów stylów, używając do tego celu: {{Code|{{sr|#p["UsuńSzablonyStylów"]|p=Specjalne}}}}. To samo jest robione ze znacznikami na podstawie: {{Code|{{sr|#p["UsuńZnaczniki"]|p=Specjalne}}}}. Z tekstu szablonu są kasowane normalne kategorie nieszablonowe: {{Code|{{sr|#p["UsuńKategorie"]|p=Specjalne}}}}. Pozbywamy się, z zawartości, wywołań plików i interwiki, na podstawie: {{Code|{{sr|#p["UsuńWywołaniaPlików"]|p=Specjalne}}}} i {{Code|{{sr|#p["UsuńInterwiki"]|p=Specjalne}}}}. Dalej z tego obiektu są usuwane znaki specjalne na podstawie: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}. A gdy mamy do czynienia z innymi znacznikami, to są zwracane zamiast nich wartości puste do funkcji kompletowania. Dane, z funkcji kompletowania, które są zwracane do niej, są usuwane w niej znaki specjalne z całości tekstu rozdziału: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, i znaki białe z końców tekstu. Powtarzające się te znaki kolejne wewnątrz są zamieniane na jedną spację, to się dzieje według funkcji: {{Code|{{sr|#p["UsuńZbędneBiałeZnaki"]|p=Specjalne}}}}. Cały taki wynik operacji robiony w funkcji w nagłówku jest zwracany do niej, to jest, co uzyskujemy, nazwą rozdziału w postaci przetworzonej. === {{Śródtytuł|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}}{{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === Opisane tutaj są podfunkcje, z których korzysta ta funkcja, co one robią, do czego są wykorzystane. ==== Opis funkcji: {{nobold|{{Patrz|opis funkcji-ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}}}} ==== Funkcja służy do zbierania nagłówków i z niej danych, tzn. linków normalnych i inteligentnych, a także są zbierane nagłówki z listy bez artykułów i do nich elementy podlisty z artykułami w postaci wywołań linkowych w niej. Tworzona jest specjalnie dla tego tablica: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, która w odpowiedni sposób po przekształceniach wsadzana jest do tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} | _2 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}. | 3 = {{Code|nazwa_spisu_tresci}} | _3 = Jak w: {{LinkPatrz|nazwa_spisu_tresci}}. | 4 = {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} | _4 = Czy dany spis treści dla książki dla jej artykułu korzystanego, dla innej książki, wtedy to artykuł niekorzystany. | 5 = {{Code|adres_ksiazki_glownego_spisu_tresci}} {{Patrz|adres_ksiazki_glownego_spisu_tresci}} | _5 = Jest to wewnętrzny adres książki głównego spisu treści, jest to taki adres, na który wskazuje przekierowanie innej książki. | 6 = {{Code|__FUNKCJA_ZBIERANIA_DANYCH}} {{Patrz|__FUNKCJA_ZBIERANIA_DANYCH}} | _6 = {{Śródtekst|uchwyt=__FUNKCJA_ZBIERANIA_DANYCH|tekst= Jest to funkcja, która zbiera informacje o aktualnym artykule, która jest spisem treści, w postaci nieprzetworzonej przez funkcje z modułu: {{Code|{{ld2|StronicowyParser/Rozdziały}}}}, opisanego w: {{Code|{{sr|Rozdziały|StronicowyParser - Rozdziały|p=StronicowyParser}}}}, ta funkcja kopiuje, np. tabele danych bazy modułu: {{Code|{{m|Szablonowe}}}}, tzn: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, i tabelę rozkładu elementów w niej na czynniki pierwsze, tzn.: {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony}}, co jest napisane w module: {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}}, a w dokumentacji: {{Code|{{sr|#p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|p=StronicowyParser/ZbieranieDanychStron}}}}. {{P|Przykład wywołania:}} <syntaxhighlight lang="lua"> __FUNKCJA_ZBIERANIA_DANYCH(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona); </syntaxhighlight> Funkcja nie zwraca niczego, jest funkcją, zwykłą bezwartościową procedurą, niezwracającą niczego. }} }} ==== Funkcje lokalne ==== Funkcja ma w sobie też definicję funkcji lokalnych zdefiniowanej w tej funkcji tutaj opisywanej. ===== {{Śródtytuł|FunkcjaIteratoraTekstuZakodowego}}{{Code|FunkcjaIteratoraTekstuZakodowego}} ===== Funkcja służy do pomijania tego, co nie jest linkiem wewnętrznym, czy zewnętrznym, czyli oznaczone kodami: {{Code|LINKW}} lub {{Code|LINKZ}}, czy nawet szablonem linku inteligentnego, czy innego służącego do generowania spisu treści, do tego celu również używa funkcji: {{LinkŚródtytuł|CzySzablonLinkLubLicencja}}, oraz tego co nie jest w liście określonym wzorem: {{Code|<nowiki>\n([#:*;]+)</nowiki>}}, z możliwym na początku tekstem, ale nie z kodami, w danej pozycji listy, lub co ewentualnie nie może być w możliwej liście, tzn.: {{Code|<nowiki>\n([#:*;]*)</nowiki>}}, ale wtedy musi tam być z tekstem, ale nie z kodami, na początku danej pozycji listy, nawet jeśli to nie jest lista, to też tak samo. Jeżeli funkcja nie ma kodów linków wewnętrznych, czy to normalnych, czy szablonowych, to się zakańcza z wartością domyślną {{Code|nil}}, w przeciwnym wypadku do sprawdzenia używa do tego funkcji: {{LinkŚródtytuł|PomijajLinkiOrazLicencje}}, do sprawdzania, czy to jest szablon linku, nawet licencji, a jeżeli ta funkcja zwraca wartość {{Code|true}}, to cała funkcja zwraca {{Code|nil}}. Jeżeli oba te sposoby nie dały rezultatu {{Code|true}}, to wtedy funkcja zwraca wartość pustą, czyli określonym ciągiem znakowym o szerokości zerowej. Funkcja ma w sobie dwie definicje funkcji: {{LinkŚródtytuł|PomijajLinkiOrazLicencje}} i {{LinkŚródtytuł|CzySzablonLinkLubLicencja}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local FunkcjaIteratoraTekstuZakodowego=function(szablon,obiekt,kod)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}. | 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}. | 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod}}. }} ====== {{Śródtytuł|PomijajLinkiOrazLicencje}}{{Code|PomijajLinkiOrazLicencje}} ====== Funkcja służy do sprawdzania, czy są odpowiednie szablony w kodzie. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function PomijajLinkiOrazLicencje(szablon)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}. }} Funkcja sprawdza, czy to są szablony spisu treści określone tablicą o kluczach, którymi są nazwy szablonów, z wartościami {{Code|true}}, czyli: {{Code|{{sr|#p.szablony_licencji|p=StronicowyParser/obiekty}}}} {{Patrz|p.szablony_licencji}}: <syntaxhighlight lang="lua"> p.szablony_licencji={ ["Licencja"]=true, }; </syntaxhighlight> Tzn., czy to są szablony ozdobne woluminu, którego tablica: {{Code|{{sr|#p.szablony_ozdobne_stron_woluminu|p=StronicowyParser/obiekty}}}} {{Patrz|p.szablony_ozdobne_stron_woluminu}}, jest podobnie zbudowana, co poprzednia: <syntaxhighlight lang="lua"> p.szablony_ozdobne_stron_woluminu={ ["MDL:RozszerzonyLink"]=true, }; </syntaxhighlight> A jeżeli to są te szablony, to funkcja zwraca wartość {{Code|true}}. Jeżeli jednak to nie są te szablony, należy użyć tablic, tak samo zbudowanej jak poprzednie, czyli: {{Code|{{sr|#p.linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{Patrz|p.linki_szablony_elementy_spisu_rzeczy}}: <syntaxhighlight lang="lua"> p.linki_szablony_elementy_spisu_rzeczy={ ["SpisTreści"]=true, ["Sekcja referencyjna"]=true, ["Sr"]=true, ["Link wewnętrzny"]=true, ["Ly"]=true, ["LinkOgólne"]=true, ["Lo"]=true, }; </syntaxhighlight> Lub innej, inaczej zbudowanej niż poprzednie, ale ważne, że ma wartość niefałszywą, czyli taką tablicą: {{Code|{{sr|#p.inne_linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{Patrz|p.inne_linki_szablony_elementy_spisu_rzeczy}}, jest: <syntaxhighlight lang="lua"> p.inne_linki_szablony_elementy_spisu_rzeczy={ ["SpisPozycja"]={true,numer_link="tyt",}, ["SpisZw"]={false,numer=1,link=2,}, }; </syntaxhighlight> Jak są te nazwy szablonów określone ich kluczami tych tablic, to funkcja zwraca wartość {{Code|true}}. A jeżeli jednak nie, to funkcją: {{Code|{{sr|#p.PodzielNaElementyNazwowyWikiLinkInteligentny|p=StronicowyParser/Potrzebne}}}}, jest sprawdzane, czy to jest link inteligentny, nawet przekierowanie, jeżeli link taki jest, to funkcja zwraca wartość w tym wypadku {{Code|true}}. W przeciwnym wypadku, jak nie zwrócił tej wartości, bo taka nie jest nazwa szablonu, to funkcja nic nie zwraca. ====== {{Śródtytuł|CzySzablonLinkLubLicencja}}{{Code|CzySzablonLinkLubLicencja}} ====== Funkcja sprawdzająca za pomocą: {{LinkŚródtytuł|PomijajLinkiOrazLicencje}}, na podstawie parsowania tekstu szablonu funkcją: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}, z parsowanym przechwytywanym typem obiektu: {{Code|obiekt}} {{LinkPatrz|obiekt}}, równym {{Code|SZABLON}}. A jeżeli funkcja ta wspomniana w tekście zwróci {{Code|true}}, to funkcja taki obiekt policzy. Jeżeli liczba policzonych obiektów i znalezionych w wyniku parsowania jest większa od zera, to funkcja w nagłówku zwróci wartość {{Code|true}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local CzySzablonLinkLubLicencja=function(szablon)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}. }} ===== {{Śródtytuł|iteratorTekstuNaglowka}}{{Code|iteratorTekstuNaglowka}} ===== Jest to funkcja iteratora, którego funkcja zwracana (iterator) zwraca parametry, dla rozdziałów dodatnich i pozycji list. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function iteratorTekstuNaglowka() ... ---- Kod przed zwróceniem iteratora; return function() ... ---- Ciało funkcji iteratora; end; end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = Brak parametrów. | komórka1 = tak }} Iterator (funkcja zwracana przez funkcję w nagłówku) zwraca parametry w wyniku kolejnych wywołań: <syntaxhighlight lang="lua"> return przedrostek_listy,tekstowy_przedrostek,wyzyskane_wywolanie_szablonu_spis_tresci,true/false; </syntaxhighlight> Parametry zwracane przez iterator: {{OpisParametrów | 1 = {{Code|przedrostek_listy}} | _1 = Przedrostek pozycji listy, dla rozdziałów dodatnich jest wartością pustą. | 2 = {{Code|tekstowy_przedrostek}} | _2 = Numeracja pozycji w liście lub w nagłówku dodatnim. | 3 = {{Code|wyzyskane_wywolanie_szablonu_spis_tresci}} | _3 = Jest to rozdział bez numeracji i przedrostka pozycji listy. | 4 = {{Code|true/false}} | _4 = Wartość {{Code|true}} świadczy o rozdziale dodatnim, a w przypadku innym funkcja zwraca zawsze wartość tą {{Code|false}}, jako ostatni element zwracany. }} Funkcja jest przykowana na rozdziałów dodatnich i pozycji list oraz innych linii, dla tego pierwszego funkcja zwraca: <syntaxhighlight lang="lua"> return "","",wartosc,true; </syntaxhighlight> Gdzie {{Code|wartość}} jest to zawartość napisu wprowadzenia tekstu (rozdziału dodatniego). W przypadku list oraz innych niż rozdziały dodatnie samo wyrażenie regularne {{lpg|Lua}} w {{lpr|Lua|Scribunto}} jest okreslone przez wyrażenie: <syntaxhighlight lang="lua"> local re="([#:*;]*)[^%S\n]*([%d%.]*[^%S\n]*[^\n]+)"; </syntaxhighlight> Funkcja wykorzystuje funkcję: {{Code|{{sr|#p.RozdzieleniePrawidloweLiniiWeWprowadzenieTekstuNumeracjiOdJegoNapisu|p=StronicowyParser/Rozdziały}}}}, aby zamienić zawartość pozycji listy na rozdział bez numeracji i numerację, i dlatego ta funkcja zwraca te dwie wartości. Gdy funkcja jak nie znajdzie więcej linii (wyszukań), to zwraca wartość {{Code|nil}} mówiąca o zakończeniu iteracji iteratora, tzn. dane dla iteratora się zakończyły. ===== {{Śródtytuł|LiniaArtykulow}}{{Code|LiniaArtykulow}} ===== Funkcja dla szablonów kompletowania określonym tabelką: {{Code|{{sr|#p.szablony_kompletowania_stron_woluminu|p=StronicowyParser/obiekty}}}} {{Patrz|p.szablony_kompletowania_stron_woluminu}}, o definicji: <syntaxhighlight lang="lua"> p.szablony_kompletowania_stron_woluminu={ ["Kompletność"]=true, ["Kompletność krótka"]=true, ["Kompletność junior"]=true, ["Książka"]=true, }; </syntaxhighlight> Rozdziela linię na wiele obsługiwanych podlinii. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function LiniaArtykulow(linia)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|linia}} {{Patrz|linia}} | _1 = Pojedyncza przetworzona linia. }} ====== {{Śródtytuł|SzablonAnalizujKompletnosc}}{{Code|SzablonAnalizujKompletnosc}} ====== Funkcja sprawdza, czy dane wywołania szablonu, ma swoją nazwę szablonu, która jest nazwą szablonu kompletowania. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function SzablonAnalizujKompletnosc(szablon)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}. }} ====== Dalszy opis funkcji ====== Możliwe są dwie opcje, szablon kompletowania jest pierwszy, a drugi drugi, lub odwrotnie. Funkcja obsługuje te oba przypadki. Ona stawia przecinek dla obu wersji ustawień, jeśli potraktować układem link i szablon kompletowania, to wstawiany jest on pomiędzy tymi układami, aby rozdzielić na kolejne podlinie, w liście bez tych znaków pozycji. Dzielimy to na elementy przy pomocy funkcji: {{LzLua|mw.text.split}}, z opcją jako drugi parametr, aby uwzględniał wyrażenia regularne {{Code|false}}. W tych rozdzielonych linią tą funkcją dzielącą ciąg znakowy na tabelę, kody '''HTML''' przecinka są zamieniane na zwykły przecinek. Funkcja zwraca tabelę podzielonej linii na mniejsze podlinie, który można iterować funkcją: {{Code|pairs}} lub {{Code|ipairs}}. ===== {{Śródtytuł|WsadzanieParametryDoTablicy}}{{Code|WsadzanieParametryDoTablicy}} ===== Funkcja z parametrami, która uruchamiana jest inną w: {{LinkŚródtytuł|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}}, która wstawia tabelę: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, do ogólnej tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}, ewentualnie do: {{Code|tabela_rozdzial_artykulow}} {{Patrz|tabela_rozdzial_artykulow}} na pozycję {{Code|numer_podtablicy_w_tablicy}} {{Patrz|numer_podtablicy_w_tablicy}}, a dokładniej na: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, w funkcji: {{LinkŚródtytuł|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WsadzanieParametryDoTablicy(linia,czy_linia_uwzgledniana) return function(tabela_rozdzial_artykulow2,numer_podtablicy_w_tablicy,tab_stare) ... ---- ciało funkcji. end; end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|linia}} | _1 = Jak w: {{LinkPatrz|linia}}. | 2 = {{Code|czy_linia_uwzgledniana}} {{Patrz|czy_linia_uwzgledniana}} | _2 = Czy linię ma uwzględnić w powiększaniu poziomu o jeden dla artykułu. }} Parametry zwracanej funkcji przez tę w nagłówku: {{OpisParametrów | 1 = {{Code|tabela_rozdzial_artykulow2}} | _1 = Jak w: {{LinkPatrz|tabela_rozdzial_artykulow2}}. | 2 = {{Code|numer_podtablicy_w_tablicy}} | _2 = Jak w: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}. | 3 = {{Code|tab_stare}} | _3 = Jak w: {{LinkPatrz|tab_stare}}. }} ====== {{Śródtytuł|CzyZaliczac}}{{Code|CzyZaliczac}} ====== Funkcja sprawdza, czy z początkiem linii pozycji listy, bez przedrostka listy, jest z możliwym początkiem z odstępami i po nim cudzysłowem, po którym następują liczby, litery, w takim przypadku linia nie może składać się z tego z początkiem z literami lub cyframi, czyli ze znakami alfanumerycznymi, a po nim ze znakami interpunkcyjnymi. Jeśli to sprawdzenie było pozytywne, funkcja zwraca wartość logiczną odpowiadającą {{Code|true}}, w przeciwnym wypadku jest zwracane {{Code|false}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function CzyZaliczac()...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = Brak parametrów funkcji. | komórka1 = tak }} Funkcja zwraca informację, czy daną linię traktować jako rozdział, chodzi tu o pozycje list, a w przypadku rozdziałów dodatnich wiadomo, że one są właśnie, że rozdziałami. ====== Dalszy opis funkcji ====== Funkcja sprawdza w funkcji zwracanej, czy rozważany rozdział jest centrowany danego artykułu, który siedzi pod rozdziałem lub w samym rozdziale, sprawdza, czy artykuł jest w rozdziale, sprawdza, czy linia jest uwzględniana: {{Code|czy_linia_uwzgledniana}} {{LinkPatrz|czy_linia_uwzgledniana}}. Funkcja sprawdza, czy w sekcji, czy w: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, czy istnieje element: {{Code|tab_stare[2]}} {{Patrz|tab_stare[2]}}, i dalszy: {{Code|tab_stare[2][1]}} {{Patrz|tab_stare[2][1]}} - ten element jest to w: {{Code|tab_stare}}, taki: {{Code|#przedrostek_listy}} {{Patrz|#przedrostek_listy}}, a jeżeli to sprawdzenie przeszło pozytywnie, który dla tego jest poziomem listy, lub zerowego rozdziału lub rozdziału dodatniego. Wtedy do: {{Code|tab_stare[2][1]}} {{LinkPatrz|tab_stare[2][1]}} jest ikrementowany on o liczbę jeden, czyli: Dla każdej linii zmienna: {{Code|nowa_linia}} {{Patrz|nowa_linia}}, przyjmuje wartość {{Code|false}}, wtedy dla przypadku przeciwnego, tzn. gdy mamy rozdział i uwzględniamy artykuły w jednej linii, którym jest rozdział będący pozycją listy, w zmiennej: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, jest ustawiany element: {{Code|tab_stare[2][4]}} {{Patrz|tab_stare[2][4]}}, czyli zmienna: {{Code|w_rozdziale}} {{LinkPatrz|w_rozdziale}}, zaczyna przyjmować wartość {{Code|true}}. Wsadzany jest wtedy do tablicy: {{Code|tabela_rozdzial_artykulow2}} {{LinkPatrz|tabela_rozdzial_artykulow2}}, na pozycję: {{Code|numer_podtablicy_w_tablicy}} {{LinkPatrz|numer_podtablicy_w_tablicy}}, czyli to jest też: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, element {{Code|tab_stare}} {{LinkPatrz|tab_stare}}. Gdy: {{Code|nowa_linia}} {{LinkPatrz|nowa_linia}}, gdy jednak przyjmuje wartość {{Code|false}}, wtedy jeśli poziom rozdzialu istnieje lub przedrostek listy: {{Code|#przedrostek_listy}} {{LinkPatrz|#przedrostek_listy}}, jest większy od zera, i istnieje wiele artykułów w pozycji liście, wtedy: {{Code|ile>0}} (patrz na zmienną: {{Code|ile}} {{LinkPatrz|ile}}), lub funkcja: {{LinkŚródtytuł|CzyZaliczac}}, przyjmuje wartość odpowiadające prawdziwej, w taki przypadku zmiennej: {{Code|nowa_linia}} {{LinkPatrz|nowa_linia}}, przydzielamy wartość {{Code|true}}, by dalsze artykuły można było wsadzić, do tablicy z nowym rozdziałem. Powiększamy numer rozdziału o jeden, tzn.: {{Code|numer_rozdzialu_w_ksiazce}} {{Patrz|numer_rozdzialu_w_ksiazce}}, wtedy w zmiennej: {{Code|tabela_artykulow}} {{Patrz|tabela_artykulow}}, tabeli rozdziałów i w nich artykułów dla tej pozycji przydzielamy wartość równą tablicy pustej. Liczymy dla tego rozdział z artykułami, z funkcji: {{Code|{{sr|#p.AnalizaNapisuWprowadzeniaTekstu|p=StronicowyParser/SpisTreści}}}}, czyli obliczamy napis rozdziału, wtedy do pierwszej pozycji tablicy utworzonej w: {{Code|tabela_artykulow}} {{LinkPatrz|tabela_artykulow}}, dla miejsca: {{Code|numer_rozdzialu_w_ksiazce}} {{LinkPatrz|numer_rozdzialu_w_ksiazce}}, czyli: {{Code|tabela_rozdzial_artykulow}} {{LinkPatrz|tabela_rozdzial_artykulow}}, piszemy: <syntaxhighlight lang="lua"> tabela_rozdzial_artykulow[1]={rozdzial_na_tekst,{-#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,false,},linia,}; </syntaxhighlight> Gdzie: {{Code|rozdzial_na_tekst}} {{Patrz|rozdzial_na_tekst}}, to policzony rozdział, a {{Code|-#przedrostek_listy}} {{Patrz|-#przedrostek_listy}} to poziom rozdziału ujemnego, i dlatego minus. A: {{Code|przedrostek_listy}}, to znaki początkowe z listy: {{Code|wzor_do_linii_z_lista}} {{LinkPatrz|wzor_do_linii_z_lista}}, a: {{Code|tekstowy_przedrostek}}, to numeracja tego rozdziału. Wartość {{Code|false}} to jest ze ten rozdział nie jest centrowany, a: {{Code|linia}} {{LinkPatrz|linia}}, to wyzyskana linia bez początku pozycji listy. Ustawiamy: {{Code|tab_stare[2][4]}} {{LinkPatrz|tab_stare[2][4]}}, na wartość {{Code|true}} i element: {{Code|tab_stare[6]}} {{Patrz|tab_stare[6]}}, ustawiamy na zero. Tworzymy tablicę pustą na pozycję: {{LinkPatrz|numer_podtablicy_w_tablicy}}, tablicy: {{Code|tabela_rozdzial_artykulow}} {{LinkPatrz|tabela_rozdzial_artykulow}}, i do tej tablicy dodajemy: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, za pomocą funkcji: {{LzLua|table.insert}}. A jeżeli nie jest tworzony nowy rozdział z listy w tabeli: {{Code|tabela_artykulow}} {{LinkPatrz|tabela_artykulow}}, to na pozycję: {{Code|numer_podtablicy_w_tablicy}} {{LinkPatrz|numer_podtablicy_w_tablicy}}, jest dodawany element: {{Code|tab_stare}} {{LinkPatrz|tab_stare}}, również tak jest robione, gdy artykuły znajdują się w rozdziale dodatnim, tzn. równaniowej lub centrowanej, tzn. wtedy: {{Code|w_rozdziale}} {{LinkPatrz|w_rozdziale}}, przyjmuje wartość {{Code|true}}. ===== {{Śródtytuł|AnalizaLiniiObiekty}}{{Code|AnalizaLiniiObiekty}} ===== Za pomocą funkcji: {{LinkŚródtytuł|LiniaArtykulow}}, linia: {{Code|linia_rozwazana}} {{Patrz|linia_rozwazana}}, jest rozdzielana na wiele linii. To wiele linii w postaci tabeli, są iterowane od: {{Code|k {{=}} 1}}, do: {{Code|k {{=}} #tab_linia}}, gdzie: {{Code|#tab_linia}} {{Patrz|#tab_linia}}, jest to długość linii, tzn. liczba elementów numerowanych tablicy, tzn. od 1 do wzwyż aż do napotkania najbliższej przerwy lub końca. Wtedy dla pojedyńczej literacji mamy: {{Code|tab_linia[k]}} {{Patrz|tab_linia[k]}}. Iterujemy po kodach dla linii: {{Code|tab_linia[k]}} {{LinkPatrz|tab_linia[k]}}, przy pomocy funkcji: {{Code|{{sr|#p.IteratorSzablonowyZakodowanegoTekstu|p=Szablonowe}}}} {{Patrz|p.IteratorSzablonowyZakodowanegoTekstu}}, iteratorem: {{Code|iterator2}} {{Patrz|iterator2}}. Inicjujemy zmienną: {{Code|tab_nieobslugiwane {{=}} nil}}, następnie iterujemy: {{LinkPatrz|iterator2}}, uzyskując w każdej iteracji: {{Code|szablon}} {{LinkPatrz|szablon}}, {{Code|obiekt}} {{LinkPatrz|obiekt}}, i {{Code|kod}} {{LinkPatrz|kod}}. Gdy mamy do czynienia: {{Code|SZABLON}}, lub: {{Code|LINKW}}, albo: {{Code|LINKZ}}, wtedy dla elementów tego pierwszego bierzemy tablicę: {{Code|{{sr|#p.inne_linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.inne_linki_szablony_elementy_spisu_rzeczy}}, dla elementu: {{Code|nazwa_szablonu}} {{LinkPatrz|nazwa_szablonu}}. Jeżeli ten element: {{Code|tabela_spisu}}, istnieje, element pierwszy: {{Code|tabela_spisu[1]}}, jest równy wartości {{Code|true}}, wtedy mamy do czynienia z szablonem {{s|SpisPozycja}}. Jej element: {{Code|tabela_spisu["numer_link"]}}, istnieje i jest równy: {{Code|tyt}} {{Patrz|tyt}}. Iterujemy po kluczach i jego wartościach tego szablonu i sprawdzamy, który element jest równy właśnie tej wartości, a jeżeli jest taki, to dla elementów nie równych niemu, a właściwie w jego wartości iterujemy po kodach funkcją: {{LinkPatrz|p.IteratorSzablonowyZakodowanegoTekstu}}, dla tej wartości, w ten sposób zbieramy tablicę wielowymiarową najpierw po: {{Code|obiekt}} {{LinkPatrz|obiekt}}, później po: {{Code|kod}}, {{LinkPatrz|kod}}, którą nazwiemy: {{Code|tab_nieobslugiwane}} {{Patrz|tab_nieobslugiwane}}, którego każda jej wartość jest równa {{Code|true}}. Ta tablica mówi dla jakich elementów ma nie zbierać w tablicy elementów w głównej tablicy rozdziałów i jego artykułach. Dla elementu {{Code|tyt}} {{LinkPatrz|tyt}} tablicy parametrów przedrostek listy {{Code|przedrostek_listy}} ustawiamy na pusty, i liczmy numerację {{Code|tekstowy_przedrostek}} i zmienną: {{Code|szablon}} {{LinkPatrz|szablon}}, i ustawiamy zmienną {{Code|przerwij}} {{Patrz|przerwij}} na {{Code|true}}, aby dla tego szablonu nie zbierać elementów w tablicy rozdziałów i jego artykułów. W przypadku przeciwnym dla: {{Code|tabela_spisu}}, gdy ma wartość {{Code|false}}, wtedy mamy do czynienia z funkcją: {{s|SpisZw}}. Dla niej liczymy: {{Code|przedrostek_listy}}, którą ustawiamy na pustą wartość. A: {{Code|tekstowy_przedrostek}}, liczmy uzyskując parametr o kluczu: {{Code|tabela_spisu["numer"]}}, którym jest parametr o numerze: {{Code|1}}, i {{Code|szablon}} {{LinkPatrz|szablon}}, który liczmy z parametrów szablonu o kluczu {{Code|tabela_spisu["link"]}}, którym jest numer {{Code|2}}. Ustawiamy tutaj zmienną: {{Code|przerwij}} {{LinkPatrz|przerwij}}, na wartosć {{Code|true}}. ====== {{Śródtytuł|CzyObslugiwane}}{{Code|CzyObslugiwane}} ====== Funkcja sprawdzająca, które elementy są obsługiwane, jeśli istnieje tablica: {{Code|tab_nieobslugiwane}} {{LinkPatrz|tab_nieobslugiwane}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local CzyObslugiwane=function()...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = Brak parametrów. | komórka1 = tak }} ====== Dalszy opis funkcji ====== ; Uwzględnianie tablicy, reprezentujące artykuł w rozdziale, wstawiany do tablicy danego rozdziału{{dk}} Sprawdzany jest warunek: <syntaxhighlight lang="lua"> if((--[[wliczaj_artykuly_tego_rozdzialu]] true)and(not przerwij)and((not tab_nieobslugiwane)or(CzyObslugiwane())))then </syntaxhighlight> Jeśli to nie jest spełnione, to sprawdzamy {{ZobaczTeż|link_szablon}}, czy jest zebrana licencja z autorem według zmiennej: {{Code|licencja_z_autorem}} {{Patrz|licencja_z_autorem}}, i sprawdzamy, czy: {{Code|szablon}} {{LinkPatrz|szablon}}, jest wnetrzem szablonu, jeżeli tak, to ono przyjmuje wartość odpowiadająca prawdziwej, przeciwnie ma fałszywą. Jeżeli jest on spełniony, wtedy wywołujemy funkcję: {{LinkŚródtytuł|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}}, później dla: <syntaxhighlight lang="lua"> if((not czy_obslugiwane)and(not numer_rodzaju_artykulu_poprz))then </syntaxhighlight> Sprawdzamy, czy jest zrobione {{LinkZobaczTeż|link_szablon}}. ; Szablony licencji, i jego parametry, uwzględnianie jego tylko raz ca całą książkę, mieszcząca się w artykule głównej książki{{dk}} Następnie dla warunku, który musi być spełniony: <syntaxhighlight lang="lua"> if((not numer_rodzaju_artykulu_poprz)and(not przerwij)and(link_szablon)and((not tab_pozycja_elementow_w_spisie_rzeczy)or(not tab_pozycja_elementow_w_spisie_rzeczy[1]))and(czy_artykul_korzystany)and(licencja_z_autorem))then </syntaxhighlight> Sprawdzamy szablony licencji, takich jak: {{s|Licencja}}, według tablicy: {{Code|{{sr|#p.szablony_licencji|p=StronicowyParser/obiekty}}}}. Dla parametrów szablonu, liczymy jego parametry o kluczach, tzn.: {{Code|Autor}} {{Patrz|Autor}}, {{Code|Ukończone szkoły}} {{Patrz|Ukończone szkoły}}, {{Code|Email}} {{Patrz|Email}}, {{Code|Dotyczy}} {{Patrz|DotyczyDotyczy}}, {{Code|Licencjonowanie}} {{Patrz|Licencjonowanie}}, {{Code|Umowa prawna}} {{Patrz|Umowa prawna}} i {{Code|Konsekwencje}} {{Patrz|Konsekwencje}}, którego wartości przydzielamy do odpowiednich zmiennych. Każdą z tych zmiennych kompletujemy funkcją: {{Code|{{sr|#p.DekodowanieTekstuDekodowanieTekstu|p=StronicowyParser/Potrzebne}}}}, poprzez zwracaną przez nią funkcję, w której jest wykorzystywana: {{LzLua|frame:preprocess}}, do rozwijania. A dla elementu istniejącego: {{Code|Autor}}, piszemy zmienną: {{Code|licencja_z_autorem}} {{LinkPatrz|licencja_z_autorem}}, któremu przydzielamy wartość {{Code|false}}, co spowoduje, że nie będziemy analizowali jeszcze raz innego szablonu licencji. Te zmienne tego szablonu zbieramy natomiast w tablicy: {{Code|tabela_licencji_spisu_tresci}} {{Patrz|tabela_licencji_spisu_tresci}}, dane dotyczące licencji, więc: <syntaxhighlight lang="lua"> tabela_licencji_spisu_tresci={autor, szkoly, email, dotyczy, licencjonowanie, umowa_prawna, konsekwencje}; </syntaxhighlight> Co później przerywamy pętle po: {{Code|iterator2}} {{LinkPatrz|iterator2}}, instrukcją: {{Code|break}}. ==== Dalszy opis funkcji {{nobold|{{LinkPatrz|opis funkcji-ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}}}} ==== Ściągamy tekst, tabelę bazy i tabelę parametrów strony o nazwie: {{Code|nazwa_modulu}}, przy pomocy funkcji: {{Code|{{sr|#p.RekurencyjnyZakodowanoSpreparowanyWikikodStrony|p=StronicowyParser/Tekst}}}}, według: <syntaxhighlight lang="lua"> local __FUNKCJA_PARAMETRY=nil; local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul:RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu,false,nil,nil,function(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html,szablony_magiczne,tabela_nazw) return nil; end,__FUNKCJA_PARAMETRY); </syntaxhighlight> Uruchamiamy funkcję: {{Code|__FUNKCJA_ZBIERANIA_DANYCH}} {{LinkPatrz|__FUNKCJA_ZBIERANIA_DANYCH}}, jeżeli istnieje. Dalej wywołujemy funkcję: {{Code|{{sr|#p.IterTekst|p=StronicowyParser/Rozdziały}}}}, w celu znalezienia tekstu: {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}}, i iteratora: {{Code|iterator}} {{Patrz|iterator}}, po napisach wprowadzenia tekstu rozdziałów i ich zawartości rozdziałów i na podstawie: <syntaxhighlight lang="lua"> local iterator,tekst_rozwiniety_calego_artykulu=stronicowyparser_rozdzialy_modul.IterTekst(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,true,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych, __FUNKCJA, ---- funkcja sprawdza, czy wywołanie szablonowe, czy jest normalnym szablonem, a nie instrukcją warunkową, na podstawie pełnego adresu szablonu, określa i zawraca jego zawartość; __FUNKCJA2, ---- funkcja operująca na przygotowanej zawartości napisu wprowadzenia tekstu i tekście napisu wprowadzenia tekstu (rozdziału); __FUNKCJA_ANALIZA_SPISU ---- funkcja do analizy i modyfikacji tekstu (może zwracać wartość: nil) przed samym kodowaniem, jeżeli tekst jest w ogóle jest taki, a jeśli nie, ta funkcja wtedy nie jest uruchamiana, funkcja ta bezpośrednio jest wywoływana w tej funkcji, służy ona do wydzielenia spisu treści danego spisu treści, tak robimi, uruchamiając funkcję: IterTekst, dla każdego takiego spisu w odpowiedni sposób pokazaną w rozdziale: SpisTreści, co jest uwidocznione w module: Moduł:StronicowyParser/SpisTreści; ); </syntaxhighlight> Opis parametrów zwracanych: {{OpisParametrów | 1 = {{Code|iterator}} {{Patrz|iterator-IterTekst}} | _1 = Iterator po rozdziałach i jego zawartościach. | 2 = {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu-IterTekst}} | _2 = Tekst przetworzony rozdziału. }} Odczytujemy tabelę: {{LinkPatrz|p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu}} i dalej: {{Code|{{sr|#p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu|p=StronicowyParser/obiekty}}}} {{Patrz|p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu}}, o definicji: <syntaxhighlight lang="lua"> p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu={ ["spis treści"]=true, ["spis tresci"]=true, ["spis rzeczy"]=true, }; </syntaxhighlight> Robimy kopię tych tabel i przyłączamy do metatabeli: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}, przy pomocy funkcji: {{LzLua|setmetatable}}, aby nie odrózniać tych rozdziałów ze względu na wielkość liter i polskie znaki. Inicjiujemy zmienną: {{Code|numer_rozdzialu_w_ksiazce}} {{LinkPatrz|numer_rozdzialu_w_ksiazce}}, wartością: {{Code|1}}, aby zbierać po kolei artykuły ze poszczególnego pojedynczego spisu treści. Ustawiamy maksymalny rozmiar rozdziału zerowego na {{Code|50}}, w zmiennej: {{Code|maksymalny_rozmiar_rozdzialu_zerowego}} {{Patrz|maksymalny_rozmiar_rozdzialu_zerowego}}, według: <syntaxhighlight lang="lua"> local maksymalny_rozmiar_rozdzialu_zerowego=50; </syntaxhighlight> ===== {{Śródtytuł|AnalizaRozdzialu}}{{Code|AnalizaRozdzialu}} ===== Jest to funkcja do zbierania danych z pojedynczego rozdziału o pewnej linii, inicjowana z jego parametrami, także tekstem rozdziału. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function AnalizaRozdzialu(rozdzial,linia_rozdzialu,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany)...end; </syntaxhighlight> Parametry funkcji: {{OpisParametrów | 1 = {{Code|rozdzial}} {{Patrz|rozdzial}} | _1 = Jest to tekst rozdziału. | 2 = {{Code|linia_rozdzialu}} {{Patrz|linia_rozdzialu}} | _2 = Jest to linia z rozdziałem. | 3 = {{Code|text}} {{Patrz|text}} | _3 = Jest to tekst rozdziału o pewnym napisie wprowadzenia tekstu. | 4 = {{Code|poziom_rozdzialu}} {{Patrz|poziom_rozdzialu}} | _4 = Jest to poziom danego rozdziału. | 5 = {{Code|poczatek_rozdzialu}} {{Patrz|poczatek_rozdzialu}} | _5 = Początek pozycji listy rozdziałów '''mechanizmu {{NS|k=mw|l=tak|pk=d}}'''. | 6 = {{Code|numeracja}} {{Patrz|numeracja}} | _6 = Numeracja rozdziału. | 7 = {{Code|czy_rozdzial_centrowany}} {{Patrz|czy_rozdzial_centrowany}} | _7 = Czy dany rozdział jest centrowany. }} ====== Tabela artykułów rozdziałów i w nich artykułów oraz jego poszczególnych ====== Tworzymy tabelę: {{Code|tabela_artykulow}} {{LinkPatrz|tabela_artykulow}}, jeżeli nie istnieje, z pustą tablicą, a później dla elementu: {{Code|numer_rozdzialu_w_ksiazce}} {{LinkPatrz|numer_rozdzialu_w_ksiazce}}, jeżeli też go nie ma, to też pustą tablicą. Dalej liczymy napis wprowadzenia tekstu rozdziału dodatniego funkcją: {{LinkŚródtytuł|p.AnalizaNapisuWprowadzeniaTekstu}} i uwzględniamy je w tabeli rozdziałów dla danego rozdziału pod wartością: {{Code|tabela_rozdzial_artykulow[1]}}, w sposób: <syntaxhighlight lang="lua"> tabela_rozdzial_artykulow[1]={rozdzial_na_tekst,{poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany,},rozdzial,}; </syntaxhighlight> Dalej wprowadzamy zmienną: {{Code|czy_spis_rzeczy_napis_wprowadzenia_tekstu}} {{Patrz|czy_spis_rzeczy_napis_wprowadzenia_tekstu}}, mówiącą, że rozpatrujemy rozdziały i artykuły w ramach spisu treści o nagłówkach typu: {{Code|Spis treści}}, czy: {{Code|SPIS RZECZY}}. Jeżeli wyszliśmy poza to, to ta zmienna, wtedy przyjmuje wartość fałszywą, a definicja inicjacji tej zmiennej jest: <syntaxhighlight lang="lua"> local czy_spis_rzeczy_napis_wprowadzenia_tekstu=(poziom_rozdzialu)and(not czy_jest_spis_tresci)and(not dalej_nie_rozwazaj_spis_tresci)and(jakie_spisy_tresci[spreparowany_uzyskany_tekst_rozdzialu]); </syntaxhighlight> Gdzie: {{OpisParametrów | 1 = {{Code|poziom_rozdzialu}} | _1 = Jak w: {{LinkPatrz|poziom_rozdzialu}}. | 2 = {{Code|czy_jest_spis_tresci}} {{Patrz|czy_jest_spis_tresci}} | _2 = Czy jesteśmy w spisie treści. | 3 = {{Code|dalej_nie_rozwazaj_spis_tresci}} {{Patrz|dalej_nie_rozwazaj_spis_tresci}} | _3 = Zmienna mówiąca, że teraz jesteśmy poza spisem treści. }} ====== Kiedy uwzględniamy artykuły rozdziału ====== Jeżeli jesteśmy w spisie, to zawsze są uwzględniane artykuły rozdziału, bo jest ustawiona zmienna: {{Code|wliczaj_artykuly_tego_rozdzialu}} {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, na {{Code|true}}, a poza na {{Code|nil}}. Funkcja jest przyszykowana jest dla jednego spisu treści, o ściśle określonym specjalnym napisie wprowadzenia tekstu, w danym spisie na stronie. ====== Iterator linii artykułu spis treści ====== Uruchamiamy iterator, używając funkcji lokalnej: {{LinkŚródtytuł|iteratorTekstuNaglowka}}, według wywołania: <syntaxhighlight lang="lua"> local iterator=iteratorTekstuNaglowka(); </syntaxhighlight> Ustawiamy zmienną: {{Code|wliczaj_artykuly_tego_rozdzialu}} {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, aby wliczał lub nie, pewne artykuły rozdziału według: <syntaxhighlight lang="lua"> local wliczaj_artykuly_tego_rozdzialu=((wliczaj_artykuly_tego_rozdzialu)or(not jakie_nie_rozdzialy[rozdzial])); </syntaxhighlight> Iterujemy otrzymanym ostatnio iteratorem, uzyskując kolejno zmienne: {{Code|przedrostek_listy}} {{LinkPatrz|przedrostek_listy}}, {{Code|tekstowy_przedrostek}} {{LinkPatrz|tekstowy_przedrostek}}, {{Code|linia}} {{LinkPatrz|linia}}, i {{Code|w_rozdziale}} {{LinkPatrz|w_rozdziale}}. ; Kiedy rozdziałów zerowych nie liczymy jako je{{dk}} Dla rozdziałów, które nie sa poziomami z listą, sprawdzamy, czy to jest rozdział zerowy przy pomocy funkcji: {{Code|{{sr|#p.CzyZerowyNapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, i sprawdzamy, czy on przekracza rozmiar: {{Code|maksymalny_rozmiar_rozdzialu_zerowego}} {{LinkPatrz|maksymalny_rozmiar_rozdzialu_zerowego}}, jeżeli jest tym rozdziałem i nie przekracza pewnego rozmiaru, to to jest rozdział traktowany jako zerowy niepomijany rozdział zerowy, wtedy ustawiamy zmienną: {{Code|nie_pomijaj_tego_rozdzialu}} {{Patrz|nie_pomijaj_tego_rozdzialu}}, na {{Code|true}}. ; A jeśli to są rozdziały z listy zaczynające się od dwukropka w linii{{dk}} Gdy taki rozdział nie pretenduje do zerowych, to sprawdzamy funkcją: {{Code|{{sr|#p.CzyNapisWprowadzeniaTekstuDwukropkowyZDwomaApostrofamiOrazLiniamiNieWoluminu|p=StronicowyParser/Rozdziały}}}}, czy ten rozdział pominąć, a jeżeli ona przyjmuje wartość odpowiadającej fałszywej, czyli {{Code|false}}, wtedy ustawiamy zmienną: {{Code|nie_pomijaj_tego_rozdzialu}} {{LinkPatrz|nie_pomijaj_tego_rozdzialu}}, na taką samą wartość jak poprzednio. ; Inne rozdziały{{dk}} Dla rozdziałów innych ta wartość przyjmuje postać {{Code|false}}. ; Rozdziały jednak nie pomijane{{dk}} Ustalamy wartość {{Code|ile}} {{Patrz|ile}}, na wartość zero. Dla rozdziałów, które nie są pomijane, wtedy zmienna: {{Code|nie_pomijaj_tego_rozdzialu}} {{LinkPatrz|nie_pomijaj_tego_rozdzialu}}, przyjmuje wartość {{Code|true}}, w takim przypadku wchodzimy do funkcji: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami|p=Szablonowe}}}}, wtedy dla linków szablonowych sprawdzamy, czy to są linki określone tablicami: {{Code|{{sr|#p.linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.linki_szablony_elementy_spisu_rzeczy}}, {{Code|{{sr|#p.inne_linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.inne_linki_szablony_elementy_spisu_rzeczy}} lub ewentualnie funkcją: {{Code|{{sr|#p.PodzielNaElementyNazwowyWikiLinkInteligentny|p=StronicowyParser/Potrzebne}}}}. Wtedy jeżeli jest to link, to ikrementujemy: {{Code|ile}} {{LinkPatrz|ile}}. Innym sposobem sprawdzania, czy to jest szablon linkowy jest tablica: {{Code|{{sr|#p.szablony_kompletowania_stron_woluminu|p=StronicowyParser/obiekty}}}} {{LinkPatrz|p.szablony_kompletowania_stron_woluminu}}, lub {{Code|{{sr|#p.szablony_licencji|p=StroncowyParser/obiekty}}}} {{LinkPatrz|p.szablony_licencji}}. Wtedy jest zwracane to: <syntaxhighlight lang="lua"> return czy_szablon,obiekt,kod; </syntaxhighlight> Jeżeli to jest szablon linków, wtedy jest zwracana wartość: {{Code|return true,obiekt,kod}}, w przeciwnym wypadku: <syntaxhighlight lang="lua"> return false,obiekt,kod; </syntaxhighlight> Innym sposobem liczenia, czy to jest link, to wtedy może być to link normalny: {{Code|LINKW}}, który można sprawdzić funkcją: {{Code|{{sr|#p["CzyLinkWewnętrzny"]|p=Specjalne}}}}, wtedy jest zwracane {{Patrz|gołe linki}}: <syntaxhighlight lang="lua"> return true,obiekt,kod; </syntaxhighlight> Link też może być zewnętrzny, wtedy to jest: {{Code|LINKZ}}, wtedy funkcja zwraca wartości {{LinkPatrz|gołe linki}}. ; Kiedy analizujemy artykuły rozdziału{{dk}} Następnie dla linii: {{Code|linia_rozwazana}} {{LinkPatrz|linia_rozwazana}}, co na podstawie tego liczymy, czy daną linię nie uwzględnić, w obliczeniach według schematu: <syntaxhighlight lang="lua"> local czy_linia_uwzgledniana=mw.ustring.match(linia_rozwazana,"^%s*%-%-+(.*)%-%-+%s*$"); local czy_linia=((not czy_linia_uwzgledniana)and(mw.ustring.match(linia_rozwazana,"^%s*[%-%+%=%~]+.*$") or ((#przedrostek_listy==0)and((mw.ustring.match(linia_rozwazana,"!"))and(mw.ustring.match(linia_rozwazana,"[^!]%s*$")))) or mw.ustring.match(linia_rozwazana,"^%s*<")) or nil); </syntaxhighlight> Co następnie jest ustawiana: {{Code|nowa_linia}} {{LinkPatrz|nowa_linia}} na wartość {{Code|false}}. ; Warunek analizowania artykułów rozdziałów{{dk}} W obliczeniach raz uwzględniamy funkcję: {{LinkŚródtytuł|AnalizaLiniiObiekty}}, w ostatniej omawianej pętli, schematycznie: <syntaxhighlight lang="lua"> if(not czy_linia)then AnalizaLiniiObiekty(linia_rozwazana);end; </syntaxhighlight> ===== Dalsza część funkcji {{nobold|{{LinkPatrz|opis funkcji-ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}}}} ===== Bierzemy zakodowany tekst: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu-IterTekst}}, i po nim iterator: {{Code|iterator}} {{LinkPatrz|iterator-IterTekst}}, wtedy iterujemy po parametrach: <syntaxhighlight lang="lua"> local parsuj_rozdzialami=nil; ---- ta zmienna służy na wypadek, gdy by nie była żadnych rozwazanych rozdziałów; for rozdzial_tab,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany in iterator do ---- za każdym razem jest uruchamiana funkcja: AnalizaRozdzialu, przy rozważanym rozdziale; AnalizaRozdzialu(rozdzial_tab[1],rozdzial_tab[2],text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany); ---- oznacz zmienną: parsuj_rozdzialami, wartością; true, a póżniej jąnie inicjuj; if(not parsuj_rozdzialami)then parsuj_rozdzialami=true;end end; </syntaxhighlight> Parametry zwracane przez iterator: {{Code|iterator}} {{LinkPatrz|iterator-IterTekst}}: {{OpisParametrów | 1 = {{Code|rozdzial_tab}} {{Code|{{=}}}} {{Code|<nowiki>{ [1] = rozdzial, [2] = linia_rozdzialu, }</nowiki>}} | _1 = tabela składająca się z dwóch elementów: | 2 = Pod elementy tabeli: | nagłówek2 = tak | 3 = {{Code|rozdzial}} | _3 = Jak w: {{LinkPatrz|rozdzial}}. | 4 = {{Code|linia_rozdzialu}} | _4 = Jak w: {{LinkPatrz|linia_rozdzialu}}. | 5 = Inne parametry: | nagłówek5 = tak | 6 = {{Code|text}} | _6 = Jak w: {{LinkPatrz|text}}. | 7 = {{Code|poziom_rozdzialu}} | _7 =Jak w: {{LinkPatrz|poziom_rozdzialu}}. | 8 = {{Code|poczatek_rozdzialu}} | _8 = Jak w: {{LinkPatrz|poczatek_rozdzialu}}. | 9 = {{Code|numeracja}} | _9 = Jak w: {{LinkPatrz|numeracja}}. | 10 = {{Code|czy_rozdzial_centrowany}} | _10 = Jak w: {{LinkPatrz|czy_rozdzial_centrowany}}. }} Gdy nie napotkano żadnego rozważanego rozdziału, wtedy: {{Code|parsuj_rozdzialami}}, przyjmuje wartość {{Code|nil}}, w takim razie uruchamiana jest funkcja: <syntaxhighlight lang="lua"> if(not parsuj_rozdzialami)then AnalizaRozdzialu("Spis treści",nil,tekst_rozwiniety_calego_artykulu,nil,nil,nil,nil); end; </syntaxhighlight> Funkcja zwraca parametry inaczej, gdy artykuł, do którego należy książka jest korzystana, a inaczej, jeśli nie. W takim razie możemy zwracać na dwa sposoby: <syntaxhighlight lang="lua"> if(czy_artykul_korzystany)then return tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci; else return tabela_artykulow,nil,przekierowanie_spisu_tresci; end; </syntaxhighlight> Przy artykułach korzystanych, co jest określone zmienną: {{Code|czy_artykul_korzystany}} {{LinkPatrz|czy_artykul_korzystany}}, tabelę: {{Code|tabela_licencji_spisu_tresci}} {{LinkPatrz|tabela_licencji_spisu_tresci}}, przy jego spisach treści w książkach, do której należy ten artykuł, zwracana jest jako wartość przeważnie jako nierówna {{Code|nil}}, a dla artykułów z innych książkach, ta wartość już jest taka, tzn. przyjmuje wartość {{Code|nil}}. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> najas65lgvikwbl2oyx0hpvd864jmnp Wikibooks:Moduły/StronicowyParser/Potrzebne/Tom III 4 64469 560253 560220 2026-10-28T18:53:53Z Persino 2851 /* {{Śródtytuł|p.ParametryKonteneraWoluminu}}{{Code|p.ParametryKonteneraWoluminu}} */ 560253 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.ParametryKonteneraWoluminu}}{{Code|p.ParametryKonteneraWoluminu}} == Funkcja generująca ustawienia zmiennej: {{Code|self}} {{LinkPatrz|self}}, w odpowiednio w odpowiednich kluczach: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}. }} Funkcja sprawdza, czy są zmienne o pewnych kluczach w zmiennej: {{Code|self}} {{LinkPatrz|self}}, o nazwach: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}. * Jeżeli te zmienne, któreś z nich lub wszystkie, istnieją to: : liczona jest zmienna: {{Code|self}} {{LinkPatrz|self}}, o kluczach: {{Code|naglowek}} {{Patrz|naglowek}}, i {{Code|parametry}} {{Patrz|parametry}}. : Liczone są inne o kluczach poprzedniego parametru: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, i {{Code|nazwa_podstrony_woluminu}} {{LinkPatrz|nazwa_podstrony_woluminu}}. : Generowany jest parametr tej zmiennej o kluczu: {{Code|parametry_woluminu}} {{Patrz|parametry_woluminu}}, z wartością: {{Code|false}}. :: Na podstawie zmiennych tablicy wielowymiarowej: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, o kluczach: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, i {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, wtedy mamy zmienną: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce}}. W tej zmiennej szukamy elementu o kluczu: {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, której kolejne elementy liczbowe przydzielamy zmiennym z: {{Code|self}} {{LinkPatrz|self}}, tzn.: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, i {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}. * Jeżeli owe nie istnieją: : To z tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, o kluczach: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, i {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, są przedzielane ich wartości do {{Code|self}} {{LinkPatrz|self}}: o kluczach: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, i {{Code|nazwa_podstrony_woluminu}} {{LinkPatrz|nazwa_podstrony_woluminu}}. : Zmiennej: {{Code|parametry_woluminu}} {{LinkPatrz|parametry_woluminu}}, z wartością: {{Code|true}}. == {{Śródtytuł|p.TabelaListyStronWoluminu}}{{Code|p.TabelaListyStronWoluminu}} == Funkcja liczy kolejno parametry tablic zebranych artykułów dla danej przestrzeni nazw, przestrzeni książki, nazwy książki i nazwy artykułu, te tablice dla nich są kolejno {{ZobaczTeż|tabele-p.TabelaListyStronWoluminu}}: {{Code|lista_artykulow_w_ksiazkach_w_danej_przestrzeni}} {{Patrz|lista_artykulow_w_ksiazkach_w_danej_przestrzeni}}, {{Code|tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki}} {{Patrz|tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki}}, {{Code|tab_lista_artykulow_w_ksiazce}} {{Patrz|tab_lista_artykulow_w_ksiazce}}, {{Code|tab_lista_zmiennych_w_artykule}} {{Patrz|tab_lista_zmiennych_w_artykule}}, {{Code|tab_lista_zmiennych_w_artykule}}, liczone w sposób podany w: {{LinkZobaczTeż|czy_podana}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}. | 4 = {{Code|czy_podana}} {{Patrz|czy_podana}} | _4 = Czy liczyć {{ZobaczTeż|czy_podana}} tablicę według zmiennych z tym na końcu o kluczach z: {{Code|_podana}}, czy bez tego, dla tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}}, licząc dla odpowiednich tych kluczy jawnych, jak i innych niejawnych, we właściwy sposób, wyznaczając różne tablicę: {{LinkZobaczTeż|tabele-p.TabelaListyStronWoluminu}}. | 5 = {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}}, i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} | _5 = Kolejno jako: '''nazwa przestrzeni nazw''', '''nazwa przestrzeni książki''', '''nazwa książki''' i '''nazwa artykułu'''. }} Funkcja zwraca parametry określone: <syntaxhighlight lang="lua"> return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; </syntaxhighlight> Gdzie zmienna o kluczu: {{Code|spis}} {{Patrz|spis}}, zmiennej: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce}}, to tablica spisu artykułów danej książki. Jeżeli któraś z tablic jest o wartości {{Code|nil}}, to kolejne też są takie, i nie są liczone tam, wtedy w tym podświetlaczu składni, te zmienne przyjmują tą wartość odpowiednio mu danej w kodzie. == {{Śródtytuł|p.AnalizujArgumentySzablonu}}{{Code|p.AnalizujArgumentySzablonu}} == Funkcja wyszukuje parametry funkcją: {{LinkŚródtytuł|p.PobierzArgsParametry|Parametry/Tom XIV}}, i zapamiętuje je w zmiennej: {{Code|self}} {{LinkPatrz|self}}, o kluczu: {{Code|args}} {{Patrz|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizujArgumentySzablonu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} {{Patrz|self}} | _1 = Zmienna obiektowa ramki tablicy transportu modułu. | 2 = {{Code|frame}} {{Patrz|frame}} | _2 = Zmienna tablicy ramki tablicy transportu modułu. }} == {{Śródtytuł|p.Args}}{{Code|p.Args}} == Funkcja zwraca tablicę parametrów zebranych w zmiennej: {{Code|self}} {{LinkPatrz|self}}, pod kluczem: {{Code|args}} {{LinkPatrz|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Args(self)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. }} == {{Śródtytuł|p.Self}}{{Code|p.Self}} == Funkcja generuje główną tablicę przy pomocy przypisania z: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}} lub policzenia, jeśli ona nie istnieje, z modułu: {{LinkZobaczTeż|informacje}}, zbierając jego klucz o nazwie: {{Code|tablica_zebranych_danych_woluminowych}} {{Patrz|tablica_zebranych_danych_woluminowych}}. Funkcja definiuje i inicjuje pustą tablicą zmienną: {{Code|self_tab}} {{Patrz|self_tab}}. Przypisuje jej elementy o kluczach o odpowiednio: {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{Patrz|nazwa_przestrzeni_woluminu}}, {{Code|nazwa_woluminu}} {{Patrz|nazwa_woluminu}}, i {{Code|nazwa_podstrony_woluminu}} {{Patrz|nazwa_podstrony_woluminu}}, ze zmiennej: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, kolejno o odpowiednich kluczach o takich samych nazwach, jak w tej poprzedniej tablicy. We zmiennej: {{Code|self_tab}} {{LinkPatrz|self_tab}}, zmienne o kluczach: {{Code|nazwa_przestrzeni_podana}} {{Patrz|nazwa_przestrzeni_podana}}, {{Code|nazwa_przestrzeni_woluminu_podana}} {{Patrz|nazwa_przestrzeni_woluminu_podana}}, {{Code|nazwa_woluminu_podana}} {{Patrz|nazwa_woluminu_podana}}, i {{Code|nazwa_podstrony_woluminu_podana}} {{Patrz|nazwa_podstrony_woluminu_podana}}, im przypisuje się zmienne z: {{Code|self}} {{LinkPatrz|self}}, o kluczach tego bez {{Code|_podana}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Self(self,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Tablica główna generowana przez moduł {{ZobaczTeż|informacje}}: {{Code|{{ld2|StronicowyParser/informacje}}}}. }} Funkcja zwraca parametry: <syntaxhighlight lang="lua"> return self_tab,tabela_listy_danych_analizy_ksiazki; </syntaxhighlight> {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> pzduehbpb79cu1h4g8few4yx3urh8wz 560254 560253 2026-10-28T18:56:02Z Persino 2851 /* {{Śródtytuł|p.ParametryKonteneraWoluminu}}{{Code|p.ParametryKonteneraWoluminu}} */ 560254 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.ParametryKonteneraWoluminu}}{{Code|p.ParametryKonteneraWoluminu}} == Funkcja generująca ustawienia zmiennej: {{Code|self}} {{LinkPatrz|self}}, w odpowiednio w odpowiednich kluczach: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|parametry-p.ParametryKonteneraWoluminu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}. }} Funkcja sprawdza, czy są zmienne o pewnych kluczach w zmiennej: {{Code|self}} {{LinkPatrz|self}}, o nazwach: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}. * Jeżeli te zmienne, któreś z nich lub wszystkie, istnieją to: : liczona jest zmienna: {{Code|self}} {{LinkPatrz|self}}, o kluczach: {{Code|naglowek}} {{Patrz|naglowek}}, i {{Code|parametry}} {{Patrz|parametry}}. : Liczone są inne o kluczach poprzedniego parametru: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, i {{Code|nazwa_podstrony_woluminu}} {{LinkPatrz|nazwa_podstrony_woluminu}}. : Generowany jest parametr tej zmiennej o kluczu: {{Code|parametry_woluminu}} {{Patrz|parametry_woluminu}}, z wartością: {{Code|false}}. :: Na podstawie zmiennych tablicy wielowymiarowej: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, o kluczach: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, i {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, wtedy mamy zmienną: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce}}. W tej zmiennej szukamy elementu o kluczu: {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, której kolejne elementy liczbowe przydzielamy zmiennym z: {{Code|self}} {{LinkPatrz|self}}, tzn.: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, i {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}. * Jeżeli owe nie istnieją: : To z tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, o kluczach: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, i {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, są przedzielane ich wartości do {{Code|self}} {{LinkPatrz|self}}: o kluczach: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, i {{Code|nazwa_podstrony_woluminu}} {{LinkPatrz|nazwa_podstrony_woluminu}}. : Zmiennej: {{Code|parametry_woluminu}} {{LinkPatrz|parametry_woluminu}}, z wartością: {{Code|true}}. == {{Śródtytuł|p.TabelaListyStronWoluminu}}{{Code|p.TabelaListyStronWoluminu}} == Funkcja liczy kolejno parametry tablic zebranych artykułów dla danej przestrzeni nazw, przestrzeni książki, nazwy książki i nazwy artykułu, te tablice dla nich są kolejno {{ZobaczTeż|tabele-p.TabelaListyStronWoluminu}}: {{Code|lista_artykulow_w_ksiazkach_w_danej_przestrzeni}} {{Patrz|lista_artykulow_w_ksiazkach_w_danej_przestrzeni}}, {{Code|tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki}} {{Patrz|tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki}}, {{Code|tab_lista_artykulow_w_ksiazce}} {{Patrz|tab_lista_artykulow_w_ksiazce}}, {{Code|tab_lista_zmiennych_w_artykule}} {{Patrz|tab_lista_zmiennych_w_artykule}}, {{Code|tab_lista_zmiennych_w_artykule}}, liczone w sposób podany w: {{LinkZobaczTeż|czy_podana}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}. | 4 = {{Code|czy_podana}} {{Patrz|czy_podana}} | _4 = Czy liczyć {{ZobaczTeż|czy_podana}} tablicę według zmiennych z tym na końcu o kluczach z: {{Code|_podana}}, czy bez tego, dla tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}}, licząc dla odpowiednich tych kluczy jawnych, jak i innych niejawnych, we właściwy sposób, wyznaczając różne tablicę: {{LinkZobaczTeż|tabele-p.TabelaListyStronWoluminu}}. | 5 = {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}}, i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} | _5 = Kolejno jako: '''nazwa przestrzeni nazw''', '''nazwa przestrzeni książki''', '''nazwa książki''' i '''nazwa artykułu'''. }} Funkcja zwraca parametry określone: <syntaxhighlight lang="lua"> return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; </syntaxhighlight> Gdzie zmienna o kluczu: {{Code|spis}} {{Patrz|spis}}, zmiennej: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce}}, to tablica spisu artykułów danej książki. Jeżeli któraś z tablic jest o wartości {{Code|nil}}, to kolejne też są takie, i nie są liczone tam, wtedy w tym podświetlaczu składni, te zmienne przyjmują tą wartość odpowiednio mu danej w kodzie. == {{Śródtytuł|p.AnalizujArgumentySzablonu}}{{Code|p.AnalizujArgumentySzablonu}} == Funkcja wyszukuje parametry funkcją: {{LinkŚródtytuł|p.PobierzArgsParametry|Parametry/Tom XIV}}, i zapamiętuje je w zmiennej: {{Code|self}} {{LinkPatrz|self}}, o kluczu: {{Code|args}} {{Patrz|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizujArgumentySzablonu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} {{Patrz|self}} | _1 = Zmienna obiektowa ramki tablicy transportu modułu. | 2 = {{Code|frame}} {{Patrz|frame}} | _2 = Zmienna tablicy ramki tablicy transportu modułu. }} == {{Śródtytuł|p.Args}}{{Code|p.Args}} == Funkcja zwraca tablicę parametrów zebranych w zmiennej: {{Code|self}} {{LinkPatrz|self}}, pod kluczem: {{Code|args}} {{LinkPatrz|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Args(self)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. }} == {{Śródtytuł|p.Self}}{{Code|p.Self}} == Funkcja generuje główną tablicę przy pomocy przypisania z: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}} lub policzenia, jeśli ona nie istnieje, z modułu: {{LinkZobaczTeż|informacje}}, zbierając jego klucz o nazwie: {{Code|tablica_zebranych_danych_woluminowych}} {{Patrz|tablica_zebranych_danych_woluminowych}}. Funkcja definiuje i inicjuje pustą tablicą zmienną: {{Code|self_tab}} {{Patrz|self_tab}}. Przypisuje jej elementy o kluczach o odpowiednio: {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{Patrz|nazwa_przestrzeni_woluminu}}, {{Code|nazwa_woluminu}} {{Patrz|nazwa_woluminu}}, i {{Code|nazwa_podstrony_woluminu}} {{Patrz|nazwa_podstrony_woluminu}}, ze zmiennej: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, kolejno o odpowiednich kluczach o takich samych nazwach, jak w tej poprzedniej tablicy. We zmiennej: {{Code|self_tab}} {{LinkPatrz|self_tab}}, zmienne o kluczach: {{Code|nazwa_przestrzeni_podana}} {{Patrz|nazwa_przestrzeni_podana}}, {{Code|nazwa_przestrzeni_woluminu_podana}} {{Patrz|nazwa_przestrzeni_woluminu_podana}}, {{Code|nazwa_woluminu_podana}} {{Patrz|nazwa_woluminu_podana}}, i {{Code|nazwa_podstrony_woluminu_podana}} {{Patrz|nazwa_podstrony_woluminu_podana}}, im przypisuje się zmienne z: {{Code|self}} {{LinkPatrz|self}}, o kluczach tego bez {{Code|_podana}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Self(self,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Tablica główna generowana przez moduł {{ZobaczTeż|informacje}}: {{Code|{{ld2|StronicowyParser/informacje}}}}. }} Funkcja zwraca parametry: <syntaxhighlight lang="lua"> return self_tab,tabela_listy_danych_analizy_ksiazki; </syntaxhighlight> {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> pewx8ug0lbd9x0458hl8dq5q7d3t4lp 560256 560254 2026-10-28T18:59:11Z Persino 2851 /* {{Śródtytuł|p.AnalizujArgumentySzablonu}}{{Code|p.AnalizujArgumentySzablonu}} */ 560256 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.ParametryKonteneraWoluminu}}{{Code|p.ParametryKonteneraWoluminu}} == Funkcja generująca ustawienia zmiennej: {{Code|self}} {{LinkPatrz|self}}, w odpowiednio w odpowiednich kluczach: Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|parametry-p.ParametryKonteneraWoluminu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}. }} Funkcja sprawdza, czy są zmienne o pewnych kluczach w zmiennej: {{Code|self}} {{LinkPatrz|self}}, o nazwach: {{Code|nazwa przestrzeni nazw}} {{Patrz|nazwa przestrzeni nazw}}, i {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}. * Jeżeli te zmienne, któreś z nich lub wszystkie, istnieją to: : liczona jest zmienna: {{Code|self}} {{LinkPatrz|self}}, o kluczach: {{Code|naglowek}} {{Patrz|naglowek}}, i {{Code|parametry}} {{Patrz|parametry}}. : Liczone są inne o kluczach poprzedniego parametru: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, i {{Code|nazwa_podstrony_woluminu}} {{LinkPatrz|nazwa_podstrony_woluminu}}. : Generowany jest parametr tej zmiennej o kluczu: {{Code|parametry_woluminu}} {{Patrz|parametry_woluminu}}, z wartością: {{Code|false}}. :: Na podstawie zmiennych tablicy wielowymiarowej: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, o kluczach: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, i {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, wtedy mamy zmienną: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce}}. W tej zmiennej szukamy elementu o kluczu: {{Code|adres_woluminu_bazowego_spisu_rzeczy}} {{Patrz|adres_woluminu_bazowego_spisu_rzeczy}}, której kolejne elementy liczbowe przydzielamy zmiennym z: {{Code|self}} {{LinkPatrz|self}}, tzn.: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, i {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}. * Jeżeli owe nie istnieją: : To z tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, o kluczach: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, i {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, są przedzielane ich wartości do {{Code|self}} {{LinkPatrz|self}}: o kluczach: {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{LinkPatrz|nazwa_przestrzeni_woluminu}}, {{Code|nazwa_woluminu}} {{LinkPatrz|nazwa_woluminu}}, i {{Code|nazwa_podstrony_woluminu}} {{LinkPatrz|nazwa_podstrony_woluminu}}. : Zmiennej: {{Code|parametry_woluminu}} {{LinkPatrz|parametry_woluminu}}, z wartością: {{Code|true}}. == {{Śródtytuł|p.TabelaListyStronWoluminu}}{{Code|p.TabelaListyStronWoluminu}} == Funkcja liczy kolejno parametry tablic zebranych artykułów dla danej przestrzeni nazw, przestrzeni książki, nazwy książki i nazwy artykułu, te tablice dla nich są kolejno {{ZobaczTeż|tabele-p.TabelaListyStronWoluminu}}: {{Code|lista_artykulow_w_ksiazkach_w_danej_przestrzeni}} {{Patrz|lista_artykulow_w_ksiazkach_w_danej_przestrzeni}}, {{Code|tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki}} {{Patrz|tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki}}, {{Code|tab_lista_artykulow_w_ksiazce}} {{Patrz|tab_lista_artykulow_w_ksiazce}}, {{Code|tab_lista_zmiennych_w_artykule}} {{Patrz|tab_lista_zmiennych_w_artykule}}, {{Code|tab_lista_zmiennych_w_artykule}}, liczone w sposób podany w: {{LinkZobaczTeż|czy_podana}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}. | 4 = {{Code|czy_podana}} {{Patrz|czy_podana}} | _4 = Czy liczyć {{ZobaczTeż|czy_podana}} tablicę według zmiennych z tym na końcu o kluczach z: {{Code|_podana}}, czy bez tego, dla tablicy: {{Code|tabela_listy_danych_analizy_ksiazki}}, licząc dla odpowiednich tych kluczy jawnych, jak i innych niejawnych, we właściwy sposób, wyznaczając różne tablicę: {{LinkZobaczTeż|tabele-p.TabelaListyStronWoluminu}}. | 5 = {{Code|nazwa_przestrzeni}} {{LinkPatrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}}, i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} | _5 = Kolejno jako: '''nazwa przestrzeni nazw''', '''nazwa przestrzeni książki''', '''nazwa książki''' i '''nazwa artykułu'''. }} Funkcja zwraca parametry określone: <syntaxhighlight lang="lua"> return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; </syntaxhighlight> Gdzie zmienna o kluczu: {{Code|spis}} {{Patrz|spis}}, zmiennej: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce}}, to tablica spisu artykułów danej książki. Jeżeli któraś z tablic jest o wartości {{Code|nil}}, to kolejne też są takie, i nie są liczone tam, wtedy w tym podświetlaczu składni, te zmienne przyjmują tą wartość odpowiednio mu danej w kodzie. == {{Śródtytuł|p.AnalizujArgumentySzablonu}}{{Code|p.AnalizujArgumentySzablonu}} == Funkcja wyszukuje parametry funkcją: {{LinkŚródtytuł|p.PobierzArgsParametry|Parametry/Tom XIV}}, i zapamiętuje je w zmiennej: {{Code|self}} {{LinkPatrz|self}}, o kluczu: {{Code|args}} {{Patrz|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizujArgumentySzablonu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|parametry-p.AnalizujArgumentySzablonu}}: {{OpisParametrów | 1 = {{Code|self}} {{Patrz|self}} | _1 = Zmienna obiektowa ramki tablicy transportu modułu. | 2 = {{Code|frame}} {{Patrz|frame}} | _2 = Zmienna tablicy ramki tablicy transportu modułu. }} == {{Śródtytuł|p.Args}}{{Code|p.Args}} == Funkcja zwraca tablicę parametrów zebranych w zmiennej: {{Code|self}} {{LinkPatrz|self}}, pod kluczem: {{Code|args}} {{LinkPatrz|args}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Args(self)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. }} == {{Śródtytuł|p.Self}}{{Code|p.Self}} == Funkcja generuje główną tablicę przy pomocy przypisania z: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}} lub policzenia, jeśli ona nie istnieje, z modułu: {{LinkZobaczTeż|informacje}}, zbierając jego klucz o nazwie: {{Code|tablica_zebranych_danych_woluminowych}} {{Patrz|tablica_zebranych_danych_woluminowych}}. Funkcja definiuje i inicjuje pustą tablicą zmienną: {{Code|self_tab}} {{Patrz|self_tab}}. Przypisuje jej elementy o kluczach o odpowiednio: {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{Patrz|nazwa_przestrzeni_woluminu}}, {{Code|nazwa_woluminu}} {{Patrz|nazwa_woluminu}}, i {{Code|nazwa_podstrony_woluminu}} {{Patrz|nazwa_podstrony_woluminu}}, ze zmiennej: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, kolejno o odpowiednich kluczach o takich samych nazwach, jak w tej poprzedniej tablicy. We zmiennej: {{Code|self_tab}} {{LinkPatrz|self_tab}}, zmienne o kluczach: {{Code|nazwa_przestrzeni_podana}} {{Patrz|nazwa_przestrzeni_podana}}, {{Code|nazwa_przestrzeni_woluminu_podana}} {{Patrz|nazwa_przestrzeni_woluminu_podana}}, {{Code|nazwa_woluminu_podana}} {{Patrz|nazwa_woluminu_podana}}, i {{Code|nazwa_podstrony_woluminu_podana}} {{Patrz|nazwa_podstrony_woluminu_podana}}, im przypisuje się zmienne z: {{Code|self}} {{LinkPatrz|self}}, o kluczach tego bez {{Code|_podana}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.Self(self,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Tablica główna generowana przez moduł {{ZobaczTeż|informacje}}: {{Code|{{ld2|StronicowyParser/informacje}}}}. }} Funkcja zwraca parametry: <syntaxhighlight lang="lua"> return self_tab,tabela_listy_danych_analizy_ksiazki; </syntaxhighlight> {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 75wvclgpdxwi2eg639aa5ma9s8i6g7s Wikibooks:Moduły/StronicowyParser/Potrzebne/Tom IV 4 64470 560231 560230 2026-10-28T12:03:08Z Persino 2851 /* {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} */ 560231 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiedzy, której jest dawany wynik transformacji z: {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bkqbx8rh09jl7ql1vmp03i4l86drm5f 560232 560231 2026-10-28T12:04:59Z Persino 2851 /* {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} */ 560232 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiedzy, której jest dawany wynik transformacji z: {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobacz|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> s940qk5plpja2jogxyrz6lpc5ddwumu 560233 560232 2026-10-28T12:05:27Z Persino 2851 /* {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} */ 560233 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiedzy, której jest dawany wynik transformacji z: {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> hjtk92pq0tkib61sm2xgq8mbkrp9kep 560234 560233 2026-10-28T17:34:15Z Persino 2851 /* {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} */ 560234 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiedzy, której jest dawany wynik transformacji z: {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> pm0761ey5b6yr95f5o52b4l32avos7h 560235 560234 2026-10-28T17:34:57Z Persino 2851 /* {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} */ 560235 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> dheo4ltcaj6cvp7tzl7cl0lpmqwrt2x 560236 560235 2026-10-28T17:42:03Z Persino 2851 /* {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} */ 560236 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje,która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> e36ofhie3tfb78cwuxgcwqqbjdche3b 560237 560236 2026-10-28T17:43:10Z Persino 2851 /* {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} */ 560237 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje,która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 2q5ujcch9m65h7fjjftnek1ikj85n9b 560238 560237 2026-10-28T17:44:11Z Persino 2851 /* {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} */ 560238 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje,która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> p1bly8d7i3jsdbrszjjzpnmwls8zapj 560239 560238 2026-10-28T17:44:32Z Persino 2851 /* {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} */ 560239 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> c7cqiez070svgrg43qkrsnwdpvz6lve 560240 560239 2026-10-28T17:46:09Z Persino 2851 560240 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 58w80swn2zgcc064romk8mk2na0bwk6 560241 560240 2026-10-28T17:46:39Z Persino 2851 /* {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} */ 560241 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> jkjmp2n8rcsorlsz1m7d2k8hr2cz83o 560242 560241 2026-10-28T17:51:57Z Persino 2851 /* {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} */ 560242 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy liczbę elementów: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}.Funkcja zwraca tą właśnie liczbę. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> rs6tgzoueneqh0ktgnlzk2ccgvy665n 560243 560242 2026-10-28T17:53:55Z Persino 2851 560243 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{Patrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy liczbę elementów: {{Code|len_pomiedzy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_pomiedzy_napisu_wprowadzenia_tekstu}}.Funkcja zwraca tą właśnie liczbę. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> fxrbruv6a2kdfbhmy52z9kl33xrcz6w 560244 560243 2026-10-28T17:54:52Z Persino 2851 560244 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisu_wprowadzenia_tekstu}} {{Patrz|len_tablicy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_tablicy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_tablicy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy liczbę elementów: {{Code|len_tablicy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisu_wprowadzenia_tekstu}}. Funkcja zwraca tą właśnie liczbę. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak, funkcja dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 8nipk3wh74byfbq1lme9yznrnzmdzgx 560246 560244 2026-10-28T17:59:05Z Persino 2851 560246 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisu_wprowadzenia_tekstu}} {{Patrz|len_tablicy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_tablicy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisu_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_tablicy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisu_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy liczbę elementów: {{Code|len_tablicy_napisu_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisu_wprowadzenia_tekstu}}. Funkcja zwraca tą właśnie liczbę. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> dgfwilmlrylvtwl9o3hjx5722rgek2q 560248 560246 2026-10-28T18:14:36Z Persino 2851 560248 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{Patrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy liczbę elementów: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}}. Funkcja zwraca tą właśnie liczbę. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> kqywbtxmshmosvzto0rtbk4h07dnltg 560249 560248 2026-10-28T18:20:21Z Persino 2851 /* {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} */ 560249 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{Patrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}}, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy o kluczu: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}}, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy liczbę elementów: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}}. Funkcja zwraca tę właśnie liczbę. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> luendck4p9wjpk8o0zikaqva7bm2dnm 560250 560249 2026-10-28T18:23:28Z Persino 2851 560250 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji {{ZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}: {{OpisParametrów | 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|frame}} | _2 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _3 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{Patrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy liczbę elementów: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}}. Funkcja zwraca tę właśnie liczbę. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 89qwtjk9g6jcoplbd6rcvs8kvrfvqpv 560255 560250 2026-10-28T18:57:48Z Persino 2851 560255 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.ParametryKonteneraWoluminu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{Patrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.ParametryKonteneraWoluminu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy liczbę elementów: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}}. Funkcja zwraca tę właśnie liczbę. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu}}. | komórka1 = tak }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> oh8lolzu78ycahcvtkgop8bowvfhlpi 560257 560255 2026-10-28T19:01:31Z Persino 2851 560257 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.ParametryKonteneraWoluminu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{Patrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.ParametryKonteneraWoluminu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, która jest tablicą. Funkcja liczy liczbę elementów: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}}. Funkcja zwraca tę właśnie liczbę. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> sf2o0vqx0fg2rcowef69otjg6xwuta0 560259 560257 2026-10-28T19:42:26Z Persino 2851 560259 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}{{Code|p.TablicaNapisowaPoWprowadzeniachTekstu}} == Funkcja na podstawie spisu tworzy tabelę nagłówków zapisaną pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{Patrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}. Funkcja zwraca tą tablicę nagłówków. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.ParametryKonteneraWoluminu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}}{{Code|p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|numer_pomiedzy_napis_wprowadzenia_tekstu}} - jest to numer pomiędzy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{Patrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy, {{Code|reszta_pomiedzy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_pomiedzy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.ParametryKonteneraWoluminu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu {{ZobaczTeż|frame}}: {{OpisParametrów | 1 = {{Code|1}} {{Patrz|1}} | _1 = Element z: {{Code|frame.args[1]}} {{Patrz|frame.args[1]}}. }} == {{Śródtytuł|p.LosowyNapisProwadzeniaTekstuWoluminu}}{{Code|p.LosowyNapisProwadzeniaTekstuWoluminu}} == Funkcja tworzy numer losowy pod zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|numer_losowy_napis_wprowadzenia_tekstu}} {{Patrz|numer_losowy_napis_wprowadzenia_tekstu}} - jest to numer losowy, której jest dawany wynik transformacji z: {{Code|1}} {{LinkPatrz|1}}, na liczą całkowitą. Funkcja też pod tą zmienną tworzy inne zmienne o kluczach odpowiednio: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, będąca tablicą, jeśli nie istnieje, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}, dalej: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}} - liczba nagłówków w rozważanej tablicy, {{Code|reszta_losowy_napis_wprowadzenia_tekstu}} {{Patrz|reszta_losowy_napis_wprowadzenia_tekstu}} - reszta mówiąca, który artykuł ma wybrać. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Opis parametrów ramki funkcji {{Code|frame}} tablicy transportu: {{OpisParametrów | 1 = Funkcja przyjmuje takie same parametry ramki, co jest w: {{LinkZobaczTeż|frame}}. | komórka1 = tak }} == {{Śródtytuł|p.PierwszyNapisWprowadzeniaTekstu}}{{Code|p.PierwszyNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, będąca jest tablicą, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}. Funkcja liczy pierwszy jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.PierwszyNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.OstatniNapisWprowadzeniaTekstu}}{{Code|p.OstatniNapisWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, będąca jest tablicą, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}. Funkcja liczy ostatni jej element. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OstatniNapisWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.LiczbaNapisowaWprowadzeniaTekstu}}{{Code|p.LiczbaNapisowaWprowadzeniaTekstu}} == Funkcja definiuje zmienną: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}} {{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu}}, jeśli ona nie istnieje, będąca jest tablicą, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}. Funkcja liczy liczbę elementów: {{Code|len_tablicy_napisowej_wprowadzenia_tekstu}} {{LinkPatrz|len_tablicy_napisowej_wprowadzenia_tekstu}}. Funkcja zwraca tę właśnie liczbę. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> lxlceiip8tubwnx2mxgc3o9mahbijk2 Wikibooks:Moduły/StronicowyParser/Potrzebne/Tom V 4 64471 560251 559929 2026-10-28T18:51:43Z Persino 2851 /* {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} */ 560251 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> qorhqf3y8q610ynwbdcmpbj88v0hthu 560252 560251 2026-10-28T18:52:06Z Persino 2851 560252 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ekmemlwa4s2lhrof2e9o4x4v7foa0ew 560258 560252 2026-10-28T19:07:25Z Persino 2851 /* {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} */ 560258 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 6xkpy9lzzuohh5zlw7d68npwdo9hzq0 560260 560258 2026-10-28T19:43:19Z Persino 2851 /* {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} */ 560260 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> p7pf1521v4csmj9s6ohexswcyctdbi8 560261 560260 2026-10-28T19:43:52Z Persino 2851 560261 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> a8hn3fcybm2pf7kwoe3ycu46su9h0n2 560262 560261 2026-10-28T23:30:30Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560262 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis}}. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> n52f8y9lpom88xkzwzn7liqdq246pvs 560263 560262 2026-10-28T23:31:05Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560263 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> c7sp3j1dc6k1xm4j3sns5q9li2uuali 560264 560263 2026-10-28T23:32:07Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560264 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> a775u05qnt6di3eh5i1sp0rhmt6mpug 560265 560264 2026-10-28T23:37:14Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560265 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazcetab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}. }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> n4udw6qfpae1vp6fafmpdczo5b6ugl4 560266 560265 2026-10-28T23:37:54Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560266 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}. }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> e7vf8mg0fg6ijyd85mr3su6lmogh7ra 560267 560266 2026-10-28T23:41:23Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560267 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada łańcuch znakowy: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}. }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 9eww412502sa1b8ih36kntcyfiilo8z 560268 560267 2026-10-28T23:42:49Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560268 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada łańcuch znakowy: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}. }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> g5jhldd0coka34r48rsvwatop5mibsl 560269 560268 2026-10-28T23:49:12Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560269 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada łańcuch znakowy: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada tabela: {{Code|tab_lista_artykulow_w_ksiazce}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> b1eg8mlqspc9upuc9lp8so8ovm3if1q 560270 560269 2026-10-29T00:06:11Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560270 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny, jeśli nie podano jego, to jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 2yu1b3m82rgvill1x5jrtt92sbjva3c 560271 560270 2026-10-29T08:23:38Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560271 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ozhskhw4eap9654x9s9kinx8ytcujmx 560272 560271 2026-10-29T09:07:25Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560272 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}, dla danej bieżącej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> nx9z31blmrzea5nd9oxosac9udg4siu 560273 560272 2026-10-29T09:09:22Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560273 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}, dla danej bieżącej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 8i1y9mbf63z6b1l4qxvv2ao13ejyp70 560274 560273 2026-10-29T10:07:15Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560274 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}, dla danej bieżącej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. Funkcja iterując tym iteratorem zwraca wyniki w postaci wielu po kolei wartości, a tego zarys: <syntaxhighlight lang="lua'> return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; </syntaxhighlight> Opis parametrów zwracanych przez iterator: {{OpisParametrów | 1 = {{Code|artykul}} {{Patrz|artykul}} | _1 = Tabela z adresem artykułu, i innymi parametrami w postaci tablicy, względem danej książki, ale bez pełnej nazwy książki, a w przypadku innej strony niż to, to wtedy to reprezentuje pełną nazwę tego. Ta wartość jest wtedy nilowa, gdy nastąpił koniec zasobów spisów, ale w żadnym innym wypadku. | 2 = {{Code|nazwa}} {{Patrz|nazwa}} | _2 = Nazwa linku, to nie jest jego adres, w przypadku, gdy to tego nie ma to zwracane jest tego wartość nilowa. | 3 = {{Code|przekierowanie}} {{Patrz|przekierowanie}} | _3 = Tabela przekierowania danego artykułu, i innymi jego danymi, a jeżeli to nie istnieje, to zwracana jest wartość nilowa. | 4 = {{Code|pelna_nazwa_ksiazki}} {{Patrz|pelna_nazwa_ksiazki}} | _4 = Pełna nazwa książki w postaci tabeli, w innym wypadku niż artykuł aktualnej książki. }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 155hbxf3970h8vi7h5mlz7lxt3h0yhd 560275 560274 2026-10-29T10:10:38Z Persino 2851 /* {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} */ 560275 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Funkcja w wyniku iteracji zwraca za każdym razem nagłówek przetworzony i zanalizowany. Koniec iteracji nastąpi tego, gdy jest koniec zasobów przetwarzania nagłówków, wszystkich spisów obsługiwanej przez bieżącą książkę, względem danej strony. == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}, dla danej bieżącej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. Funkcja iterując tym iteratorem zwraca wyniki w postaci wielu po kolei wartości, a tego zarys: <syntaxhighlight lang="lua'> return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; </syntaxhighlight> Opis parametrów zwracanych przez iterator: {{OpisParametrów | 1 = {{Code|artykul}} {{Patrz|artykul}} | _1 = Tabela z adresem artykułu, i innymi parametrami w postaci tablicy, względem danej książki, ale bez pełnej nazwy książki, a w przypadku innej strony niż to, to wtedy to reprezentuje pełną nazwę tego. Ta wartość jest wtedy nilowa, gdy nastąpił koniec zasobów spisów, ale w żadnym innym wypadku. | 2 = {{Code|nazwa}} {{Patrz|nazwa}} | _2 = Nazwa linku, to nie jest jego adres, w przypadku, gdy to tego nie ma to zwracane jest tego wartość nilowa. | 3 = {{Code|przekierowanie}} {{Patrz|przekierowanie}} | _3 = Tabela przekierowania danego artykułu, i innymi jego danymi, a jeżeli to nie istnieje, to zwracana jest wartość nilowa. | 4 = {{Code|pelna_nazwa_ksiazki}} {{Patrz|pelna_nazwa_ksiazki}} | _4 = Pełna nazwa książki w postaci tabeli, w innym wypadku niż artykuł aktualnej książki. }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ebe1zxrw6su5jg9fabmv0t0ljunb2pr 560276 560275 2026-10-29T10:11:07Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560276 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Funkcja w wyniku iteracji zwraca za każdym razem nagłówek przetworzony i zanalizowany. Koniec iteracji nastąpi tego, gdy jest koniec zasobów przetwarzania nagłówków, wszystkich spisów obsługiwanej przez bieżącą książkę, względem danej strony. == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}, dla danej bieżącej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. Funkcja iterując tym iteratorem zwraca wyniki w postaci wielu po kolei wartości, a tego zarys: <syntaxhighlight lang="lua"> return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; </syntaxhighlight> Opis parametrów zwracanych przez iterator: {{OpisParametrów | 1 = {{Code|artykul}} {{Patrz|artykul}} | _1 = Tabela z adresem artykułu, i innymi parametrami w postaci tablicy, względem danej książki, ale bez pełnej nazwy książki, a w przypadku innej strony niż to, to wtedy to reprezentuje pełną nazwę tego. Ta wartość jest wtedy nilowa, gdy nastąpił koniec zasobów spisów, ale w żadnym innym wypadku. | 2 = {{Code|nazwa}} {{Patrz|nazwa}} | _2 = Nazwa linku, to nie jest jego adres, w przypadku, gdy to tego nie ma to zwracane jest tego wartość nilowa. | 3 = {{Code|przekierowanie}} {{Patrz|przekierowanie}} | _3 = Tabela przekierowania danego artykułu, i innymi jego danymi, a jeżeli to nie istnieje, to zwracana jest wartość nilowa. | 4 = {{Code|pelna_nazwa_ksiazki}} {{Patrz|pelna_nazwa_ksiazki}} | _4 = Pełna nazwa książki w postaci tabeli, w innym wypadku niż artykuł aktualnej książki. }} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> goaqsqtmzazurlhim4wwjy1t9irx5x1 560279 560276 2026-10-29T10:33:15Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560279 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Funkcja w wyniku iteracji zwraca za każdym razem nagłówek przetworzony i zanalizowany. Koniec iteracji nastąpi tego, gdy jest koniec zasobów przetwarzania nagłówków, wszystkich spisów obsługiwanej przez bieżącą książkę, względem danej strony. == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}, dla danej bieżącej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. Funkcja iterując tym iteratorem zwraca wyniki w postaci wielu po kolei wartości, a tego zarys: <syntaxhighlight lang="lua"> return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; </syntaxhighlight> Opis parametrów zwracanych przez iterator: {{OpisParametrów | 1 = {{Code|artykul}} {{Patrz|artykul}} | _1 = Tabela z adresem artykułu, i innymi parametrami w postaci tablicy, względem danej książki, ale bez pełnej nazwy książki, a w przypadku innej strony niż to, to wtedy to reprezentuje pełną nazwę tego. Ta wartość jest wtedy nilowa, gdy nastąpił koniec zasobów spisów, ale w żadnym innym wypadku. | 2 = {{Code|nazwa}} {{Patrz|nazwa}} | _2 = Nazwa linku, to nie jest jego adres, w przypadku, gdy to tego nie ma to zwracane jest tego wartość nilowa. | 3 = {{Code|przekierowanie}} {{Patrz|przekierowanie}} | _3 = Tabela przekierowania danego artykułu, i innymi jego danymi, a jeżeli to nie istnieje, to zwracana jest wartość nilowa. | 4 = {{Code|pelna_nazwa_ksiazki}} {{Patrz|pelna_nazwa_ksiazki}} | _4 = Pełna nazwa książki w postaci tabeli, w innym wypadku niż artykuł aktualnej książki. }} Te tablice są dobrze opisane na stronie dokumentacji modułów: {{lru|Moduły/StronicowyParser/SpisTreści}}, gdzie tam jest wskazana w sposób ogólny tablica: {{Code|tab_stare}}, w sposób jej tworzenia i definicja ogólna. Jej części są właśnie zwracane przez ten iterator. Przed pisaniem przykładów należy się zapoznać ze strukturą ich. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> goznl8n9hfmzs6z87k7oqhlc9tujfp4 560280 560279 2026-10-29T10:34:01Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560280 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Funkcja w wyniku iteracji zwraca za każdym razem nagłówek przetworzony i zanalizowany. Koniec iteracji nastąpi tego, gdy jest koniec zasobów przetwarzania nagłówków, wszystkich spisów obsługiwanej przez bieżącą książkę, względem danej strony. == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}, dla danej bieżącej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. Funkcja iterując tym iteratorem zwraca wyniki w postaci wielu po kolei wartości, a tego zarys: <syntaxhighlight lang="lua"> return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; </syntaxhighlight> Opis parametrów zwracanych przez iterator: {{OpisParametrów | 1 = {{Code|artykul}} {{Patrz|artykul}} | _1 = Tabela z adresem artykułu, i innymi parametrami w postaci tablicy, względem danej książki, ale bez pełnej nazwy książki, a w przypadku innej strony niż to, to wtedy to reprezentuje pełną nazwę tego. Ta wartość jest wtedy nilowa, gdy nastąpił koniec zasobów spisów, ale w żadnym innym wypadku. | 2 = {{Code|nazwa}} {{Patrz|nazwa}} | _2 = Nazwa linku, to nie jest jego adres, w przypadku, gdy to tego nie ma to zwracane jest tego wartość nilowa. | 3 = {{Code|przekierowanie}} {{Patrz|przekierowanie}} | _3 = Tabela przekierowania danego artykułu, i innymi jego danymi, a jeżeli to nie istnieje, to zwracana jest wartość nilowa. | 4 = {{Code|pelna_nazwa_ksiazki}} {{Patrz|pelna_nazwa_ksiazki}} | _4 = Pełna nazwa książki w postaci tabeli, w innym wypadku niż artykuł aktualnej książki. }} Te tablice są dobrze opisane na stronach dokumentacji modułów, w tym przypadku chodzi, tu o: {{lru|Moduły/StronicowyParser/SpisTreści}}, gdzie tam jest wskazana w sposób ogólny tablica: {{Code|tab_stare}}, w sposób jej tworzenia i definicja ogólna. Jej części są właśnie zwracane przez ten iterator. Przed pisaniem przykładów należy się zapoznać ze strukturą ich. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> aedavu57albg781n27isbmk00tybagc 560289 560280 2026-10-29T11:48:35Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560289 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Funkcja w wyniku iteracji zwraca za każdym razem nagłówek przetworzony i zanalizowany. Koniec iteracji nastąpi tego, gdy jest koniec zasobów przetwarzania nagłówków, wszystkich spisów obsługiwanej przez bieżącą książkę, względem danej strony. == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}, dla danej bieżącej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. Funkcja iterując tym iteratorem zwraca wyniki w postaci wielu po kolei wartości, a tego zarys: <syntaxhighlight lang="lua"> return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; </syntaxhighlight> Opis parametrów zwracanych przez iterator: {{OpisParametrów | 1 = {{Code|artykul}} {{Patrz|artykul}} | _1 = Tabela z adresem artykułu, i innymi parametrami w postaci tablicy, względem danej książki, ale bez pełnej nazwy książki, a w przypadku innej strony niż to, to wtedy to reprezentuje pełną nazwę tego. Ta wartość jest wtedy nilowa, gdy nastąpił koniec zasobów spisów, ale w żadnym innym wypadku. | 2 = {{Code|nazwa}} {{Patrz|nazwa}} | _2 = Nazwa linku, to nie jest jego adres, w przypadku, gdy to tego nie ma to zwracane jest tego wartość nilowa. | 3 = {{Code|przekierowanie}} {{Patrz|przekierowanie}} | _3 = Tabela przekierowania danego artykułu, i innymi jego danymi, a jeżeli to nie istnieje, to zwracana jest wartość nilowa. | 4 = {{Code|pelna_nazwa_ksiazki}} {{Patrz|pelna_nazwa_ksiazki}} | _4 = Pełna nazwa książki w postaci tabeli, w innym wypadku niż artykuł aktualnej książki. }} Te tablice są dobrze opisane na stronach dokumentacji modułów, w tym przypadku chodzi, tu o: {{ld2|Moduły/StronicowyParser/SpisTreści}}, gdzie tam jest wskazana w sposób ogólny tablica: {{Code|tab_stare}}, w sposób jej tworzenia i definicja ogólna. Jej części są właśnie zwracane przez ten iterator. Przed pisaniem przykładów należy się zapoznać ze strukturą ich. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> cftrj70ar3g0rbnlcnzt0ldycn1wk1d 560290 560289 2026-10-29T11:49:02Z Persino 2851 /* {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} */ 560290 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.IteratorPoWprowadzeniachNapisowychTekstu}}{{Code|p.IteratorPoWprowadzeniachNapisowychTekstu}} == To jest iterator po tablicy nagłówków zdefiniowanej w tablicy: {{Code|self}} {{LinkPatrz|self|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tablica_napisowa_wprowadzenia_tekstu}}{{LinkPatrz|tablica_napisowa_wprowadzenia_tekstu|StronicowyParser/Potrzebne/Tom IV}}, a jeśli w tej funkcji nie istnieje, to jest tworzona, przy pomocy: {{LinkŚródtytuł|p.TablicaNapisowaPoWprowadzeniachTekstu|StronicowyParser/Potrzebne/Tom IV}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = Funkcja ma takie same parametry jak funkcja, dla której dotyczą parametry: {{LinkZobaczTeż|parametry-p.AnalizujArgumentySzablonu|StronicowyParser/Potrzebne/Tom III}}. | komórka1 = tak }} Funkcja w wyniku iteracji zwraca za każdym razem nagłówek przetworzony i zanalizowany. Koniec iteracji nastąpi tego, gdy jest koniec zasobów przetwarzania nagłówków, wszystkich spisów obsługiwanej przez bieżącą książkę, względem danej strony. == {{Śródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}}{{Code|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji}} == Funkcja iteruje po artykułach danej książki, które są zapisane na jej stronie głównej, i na stronach ustawień skategoryzowanych w: {{lk2|Szablony nawigacyjne układu autonawigacji do autonawigacji podręczników}}, w użytym tam stronach szablonu: {{s|Układ autonawigacji}}, dla danej bieżącej książki. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame|StronicowyParser/Potrzebne/Tom III}}. Parametr wymagany. | 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 3 = {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} | _3 = Zmienna odpowiadająca: {{Code|spis}} {{LinkPatrz|spis|StronicowyParser/Potrzebne/Tom III}}. Parametr opcjonalny. | 4 = {{Code|spis_tresci}} {{Patrz|spis_tresci}} | _4 = Nazwa bazowego spisu. Parametr opcjonalny. To jemu odpowiada łańcuch znakowy: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|nazwa_bazowego_spisu}} {{Patrz|nazwa_bazowego_spisu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 5 = {{Code|inne_spisy}} {{Patrz|inne_spisy}} | _5 = Tabela rozdziałów i w nim z artykułami, w innych spisach. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|tab_inne_spisy}} {{Patrz|tab_inne_spisy}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. | 6 = {{Code|dodatkowe_artykuly}} {{Patrz|dodatkowe_artykuly}} | _6 = Dodatkowe artykuły książki ustawione w szablonie spisu artykułów do nawigacji. Parametr opcjonalny. To jemu odpowiada tabela: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki|StronicowyParser/Potrzebne/Tom III}}, o kluczu: {{Code|dodatkowe_strony_woluminu}} {{Patrz|dodatkowe_strony_woluminu}}, gdy nie podano parametru: {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}. }} Funkcja uwzględnia zagnieżdżone stosowanie spisów bezpośrednio w innych spisach tej samej danej książki. Spotkanie tego w spisie w iteracjach iterotora powoduje, że on podąża za jego artykułami, itd. w nim, aż do wyczerpania zasobów. Funkcja iterując tym iteratorem zwraca wyniki w postaci wielu po kolei wartości, a tego zarys: <syntaxhighlight lang="lua"> return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; </syntaxhighlight> Opis parametrów zwracanych przez iterator: {{OpisParametrów | 1 = {{Code|artykul}} {{Patrz|artykul}} | _1 = Tabela z adresem artykułu, i innymi parametrami w postaci tablicy, względem danej książki, ale bez pełnej nazwy książki, a w przypadku innej strony niż to, to wtedy to reprezentuje pełną nazwę tego. Ta wartość jest wtedy nilowa, gdy nastąpił koniec zasobów spisów, ale w żadnym innym wypadku. | 2 = {{Code|nazwa}} {{Patrz|nazwa}} | _2 = Nazwa linku, to nie jest jego adres, w przypadku, gdy to tego nie ma to zwracane jest tego wartość nilowa. | 3 = {{Code|przekierowanie}} {{Patrz|przekierowanie}} | _3 = Tabela przekierowania danego artykułu, i innymi jego danymi, a jeżeli to nie istnieje, to zwracana jest wartość nilowa. | 4 = {{Code|pelna_nazwa_ksiazki}} {{Patrz|pelna_nazwa_ksiazki}} | _4 = Pełna nazwa książki w postaci tabeli, w innym wypadku niż artykuł aktualnej książki. }} Te tablice są dobrze opisane na stronach dokumentacji modułów, w tym przypadku chodzi, tu o: {{lr2|Moduły/StronicowyParser/SpisTreści}}, gdzie tam jest wskazana w sposób ogólny tablica: {{Code|tab_stare}}, w sposób jej tworzenia i definicja ogólna. Jej części są właśnie zwracane przez ten iterator. Przed pisaniem przykładów należy się zapoznać ze strukturą ich. {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> nm55hduq45fm3c5z3sja1lm7k11tytp Wikibooks:Moduły/StronicowyParser/Potrzebne/Tom VI 4 64472 560281 559930 2026-10-29T10:51:36Z Persino 2851 /* {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} */ 560281 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|tab_lista_artykulow_w_ksiazce_spis}}| _1 = Jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis|StronicowyParser/Potrzebne/Tom V}}. | 2 = {{Code|nazwa_glownego_spisu}} | _2 = Jak w: {{LinkPatrz|spis_tresci|StronicowyParser/Potrzebne/Tom V}}. | 3 = {{Code|tab_inne_spisy}} | _3 = Jak w: {{LinkPatrz|inne_spisy|StronicowyParser/Potrzebne/Tom V}}. | 4 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, i {{Code|nazwa_ksiazki}} | _4 = kolejno jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}} i {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 5 = {{Code|nazwa_artykulu}} | _5 = Jak w: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}. | 6 = {{Code|co_ma_wykrywac}} | _6 = - }} == {{Śródtytuł|p.ObliczeniaInformacje}}{{Code|p.ObliczeniaInformacje}} == == {{Śródtytuł|p.UsuwanieElementowePoziomoweZTablicy}}{{Code|p.UsuwanieElementowePoziomoweZTablicy}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> awuuxj4yoehn7jsks6bd8wjcrbfprhs 560282 560281 2026-10-29T10:52:15Z Persino 2851 /* {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} */ 560282 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|tab_lista_artykulow_w_ksiazce_spis}}| _1 = Jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis|StronicowyParser/Potrzebne/Tom V}}. | 2 = {{Code|nazwa_glownego_spisu}} | _2 = Jak w: {{LinkPatrz|spis_tresci|StronicowyParser/Potrzebne/Tom V}}. | 3 = {{Code|tab_inne_spisy}} | _3 = Jak w: {{LinkPatrz|inne_spisy|StronicowyParser/Potrzebne/Tom V}}. | 4 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, i {{Code|nazwa_ksiazki}} | _4 = Te zmienne są kolejno zdefiniowane, jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}} i {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 5 = {{Code|nazwa_artykulu}} | _5 = Jak w: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}. | 6 = {{Code|co_ma_wykrywac}} | _6 = - }} == {{Śródtytuł|p.ObliczeniaInformacje}}{{Code|p.ObliczeniaInformacje}} == == {{Śródtytuł|p.UsuwanieElementowePoziomoweZTablicy}}{{Code|p.UsuwanieElementowePoziomoweZTablicy}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 5l6j2gcc189581p8tncgpt56nmltjlh 560283 560282 2026-10-29T11:23:48Z Persino 2851 /* {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} */ 560283 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} == Funkcja wykorzystuje do iteracji iterator funkcja zwracaną przez: {{LinkŚródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji|StronicowyParser/Potrzebne/Tom V}}. Tą funkcję zwracaną przez to uruchamiany w każdym obiegu iteracji przez instrukcję pętlową funkcji bezparametrowej: {{Code|iterator}} {{Patrz|iterator}}: <syntaxhighlight lang="lua"> for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do </syntaxhighlight> Funkcja liczy odpowiednik adresowy nieprzekierowaniowy, gdy to liczymy dany artykuł, który jest przekierowaniem, to wtedy jest zwracane, na co on wskazuje, artykuł, który nie jest przekierowaniem. Funkcja też sprawdzam którym typ przypadku rozważamy, dostępne typy: {{GridTabela|klasa=gridtable dwukolumna-tytułowa |liczba wierszy=4|liczba kolumn=2 | nagłówek 1 = Tryb | nagłówek 2 = Opis | komórka 1_1 = {{Code|1}} | komórka 1_2 = Mamy, gdy artykuł jest przekierowaniem danej książki. | komórka 2_1 = {{Code|2}} | komórka 2_2 = Mamy, gdy strona główna bieżącej książki jest przekierowaniem do innej książki. | komórka 3_1 = {{Code|3}} | komórka 3_2 = Gdy dana strona artykułu książki, ale z adresem książki w bazie rozdziałów i artykułu, czy istnieje. A gdy artykuł książki jest wedługg danej książki, ale bieżącej, to wtedy nie jest sprawdzane, czy istnieje, tylko funkcja zwraca tą drugą wartość taką. | komórka 4_1 = {{Code|4}} | komórka 4_2 = Jak powyżej, tylko że ten artykuł nie istnieje. Przeciwnie on przyjmuje wtedy wartość powyższą. }} Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|tab_lista_artykulow_w_ksiazce_spis}}| _1 = Jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis|StronicowyParser/Potrzebne/Tom V}}. | 2 = {{Code|nazwa_glownego_spisu}} | _2 = Jak w: {{LinkPatrz|spis_tresci|StronicowyParser/Potrzebne/Tom V}}. | 3 = {{Code|tab_inne_spisy}} | _3 = Jak w: {{LinkPatrz|inne_spisy|StronicowyParser/Potrzebne/Tom V}}. | 4 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, i {{Code|nazwa_ksiazki}} | _4 = Te zmienne są kolejno zdefiniowane, jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}} i {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 5 = {{Code|nazwa_artykulu}} | _5 = Jak w: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}. | 6 = {{Code|co_ma_wykrywac}} | _6 = Zmienna sterująca w warunku (instrukcji warunkowej), czy ma wyświetlać wyniki w przypadku innych książek w spisie, gdy to nie jest artykuł danej książki, w dla bieżącego podręcznika, wartość przeciwna niż prawdziwa, powoduje, że jest wyświetlany w ogóle wynik. }} == {{Śródtytuł|p.ObliczeniaInformacje}}{{Code|p.ObliczeniaInformacje}} == == {{Śródtytuł|p.UsuwanieElementowePoziomoweZTablicy}}{{Code|p.UsuwanieElementowePoziomoweZTablicy}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> j2i447d15h4efw91vf7th696j4fhrzs 560284 560283 2026-10-29T11:30:18Z Persino 2851 /* {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} */ 560284 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} == Funkcja wykorzystuje do iteracji iterator funkcja zwracaną przez: {{LinkŚródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji|StronicowyParser/Potrzebne/Tom V}}. Tą funkcję zwracaną przez to uruchamiany w każdym obiegu iteracji przez instrukcję pętlową funkcji bezparametrowej: {{Code|iterator}} {{Patrz|iterator}}: <syntaxhighlight lang="lua"> for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do </syntaxhighlight> Funkcja liczy odpowiednik adresowy nieprzekierowaniowy, gdy to liczymy dany artykuł, który jest przekierowaniem, to wtedy jest zwracane, na co on wskazuje, artykuł, który nie jest przekierowaniem. Funkcja też sprawdzam którym typ przypadku rozważamy, dostępne typy: {{GridTabela|klasa=gridtable dwukolumna-tytułowa |liczba wierszy=4|liczba kolumn=2 | nagłówek 1 = Tryb | nagłówek 2 = Opis | komórka 1_1 = {{Code|1}} | komórka 1_2 = Mamy, gdy artykuł jest przekierowaniem danej książki. | komórka 2_1 = {{Code|2}} | komórka 2_2 = Mamy, gdy strona główna bieżącej książki jest przekierowaniem do innej książki. | komórka 3_1 = {{Code|3}} | komórka 3_2 = Gdy dana strona artykułu książki, ale z adresem książki w bazie rozdziałów i artykułu, gdy istnieje, wtedy artykuł książki nie jest przekierowaniem, to wtedy nie jest sprawdzane, czy istnieje, tylko wtedy funkcja zwraca tą drugą wartość taką. | komórka 4_1 = {{Code|4}} | komórka 4_2 = Jak powyżej, tylko że ten artykuł nie istnieje. Przeciwnie w takim przypadku w sytuacji braku informacji o książce w bazie dla danego artykułu, on przyjmuje nie tą, tylko wtedy wartość tą powyższą. }} Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|tab_lista_artykulow_w_ksiazce_spis}}| _1 = Jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis|StronicowyParser/Potrzebne/Tom V}}. | 2 = {{Code|nazwa_glownego_spisu}} | _2 = Jak w: {{LinkPatrz|spis_tresci|StronicowyParser/Potrzebne/Tom V}}. | 3 = {{Code|tab_inne_spisy}} | _3 = Jak w: {{LinkPatrz|inne_spisy|StronicowyParser/Potrzebne/Tom V}}. | 4 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, i {{Code|nazwa_ksiazki}} | _4 = Te zmienne są kolejno zdefiniowane, jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}} i {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 5 = {{Code|nazwa_artykulu}} | _5 = Jak w: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}. | 6 = {{Code|co_ma_wykrywac}} | _6 = Zmienna sterująca w warunku (instrukcji warunkowej), czy ma wyświetlać wyniki w przypadku innych książek w spisie, gdy to nie jest artykuł danej książki, w dla bieżącego podręcznika, wartość przeciwna niż prawdziwa, powoduje, że jest wyświetlany w ogóle wynik. }} == {{Śródtytuł|p.ObliczeniaInformacje}}{{Code|p.ObliczeniaInformacje}} == == {{Śródtytuł|p.UsuwanieElementowePoziomoweZTablicy}}{{Code|p.UsuwanieElementowePoziomoweZTablicy}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> lb89lunu1wwxweq7wlzslie086ztlx1 560285 560284 2026-10-29T11:32:10Z Persino 2851 /* {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} */ 560285 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} == Funkcja wykorzystuje do iteracji iterator funkcja zwracaną przez: {{LinkŚródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji|StronicowyParser/Potrzebne/Tom V}}. Tą funkcję zwracaną przez to uruchamiany w każdym obiegu iteracji przez instrukcję pętlową funkcji bezparametrowej: {{Code|iterator}} {{Patrz|iterator}}: <syntaxhighlight lang="lua"> for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do </syntaxhighlight> Funkcja liczy odpowiednik adresowy nieprzekierowaniowy, gdy to liczymy dany artykuł, który jest przekierowaniem, to wtedy jest zwracane, na co on wskazuje, artykuł, który nie jest przekierowaniem. Funkcja też sprawdzam którym typ przypadku rozważamy, dostępne typy: {{GridTabela|klasa=gridtable dwukolumna-tytułowa |liczba wierszy=4|liczba kolumn=2 | nagłówek 1 = Tryb | nagłówek 2 = Opis | komórka 1_1 = {{Code|1}} | komórka 1_2 = Mamy, gdy artykuł jest przekierowaniem danej książki. | komórka 2_1 = {{Code|2}} | komórka 2_2 = Mamy, gdy strona główna bieżącej książki jest przekierowaniem do innej książki. | komórka 3_1 = {{Code|3}} | komórka 3_2 = Gdy dana strona artykułu książki, ale z adresem książki w bazie rozdziałów i artykułu, gdy istnieje, wtedy artykuł książki nie jest przekierowaniem, to wtedy nie jest sprawdzane, czy istnieje, tylko wtedy funkcja zwraca tą drugą wartość taką. | komórka 4_1 = {{Code|4}} | komórka 4_2 = Jak powyżej, tylko że ten artykuł nie istnieje. Przeciwnie w takim przypadku w sytuacji braku informacji o książce w bazie, tzn. mamy artykuł dla danej książki, jej bieżącej, dla danego artykułu, on przyjmuje nie tą, tylko wtedy wartość tą powyższą. }} Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|tab_lista_artykulow_w_ksiazce_spis}}| _1 = Jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis|StronicowyParser/Potrzebne/Tom V}}. | 2 = {{Code|nazwa_glownego_spisu}} | _2 = Jak w: {{LinkPatrz|spis_tresci|StronicowyParser/Potrzebne/Tom V}}. | 3 = {{Code|tab_inne_spisy}} | _3 = Jak w: {{LinkPatrz|inne_spisy|StronicowyParser/Potrzebne/Tom V}}. | 4 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, i {{Code|nazwa_ksiazki}} | _4 = Te zmienne są kolejno zdefiniowane, jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}} i {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 5 = {{Code|nazwa_artykulu}} | _5 = Jak w: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}. | 6 = {{Code|co_ma_wykrywac}} | _6 = Zmienna sterująca w warunku (instrukcji warunkowej), czy ma wyświetlać wyniki w przypadku innych książek w spisie, gdy to nie jest artykuł danej książki, w dla bieżącego podręcznika, wartość przeciwna niż prawdziwa, powoduje, że jest wyświetlany w ogóle wynik. }} == {{Śródtytuł|p.ObliczeniaInformacje}}{{Code|p.ObliczeniaInformacje}} == == {{Śródtytuł|p.UsuwanieElementowePoziomoweZTablicy}}{{Code|p.UsuwanieElementowePoziomoweZTablicy}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 3dckrg2sdah573mrqyi3ycbgw0c72w4 560286 560285 2026-10-29T11:40:00Z Persino 2851 /* {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} */ 560286 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} == Funkcja wykorzystuje do iteracji iterator funkcja zwracaną przez: {{LinkŚródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji|StronicowyParser/Potrzebne/Tom V}}. Tą funkcję zwracaną przez to uruchamiany w każdym obiegu iteracji przez instrukcję pętlową funkcji bezparametrowej: {{Code|iterator}} {{Patrz|iterator}}: <syntaxhighlight lang="lua"> for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do </syntaxhighlight> Funkcja liczy odpowiednik adresowy nieprzekierowaniowy, gdy to liczymy dany artykuł, który jest przekierowaniem, to wtedy jest zwracane, na co on wskazuje, artykuł, który nie jest przekierowaniem. Funkcja też sprawdzam którym typ przypadku rozważamy, dostępne typy: {{GridTabela|klasa=gridtable dwukolumna-tytułowa |liczba wierszy=4|liczba kolumn=2 | nagłówek 1 = Tryb | nagłówek 2 = Opis | komórka 1_1 = {{Code|1}} | komórka 1_2 = Mamy, gdy artykuł jest przekierowaniem danej książki. | komórka 2_1 = {{Code|2}} | komórka 2_2 = Mamy, gdy strona główna bieżącej książki jest przekierowaniem do innej książki. | komórka 3_1 = {{Code|3}} | komórka 3_2 = Gdy dana strona artykułu książki, ale z adresem książki w bazie rozdziałów i artykułu, gdy istnieje, wtedy artykuł książki nie jest przekierowaniem, to wtedy nie jest sprawdzane, czy istnieje, tylko wtedy funkcja zwraca tą drugą wartość taką. | komórka 4_1 = {{Code|4}} | komórka 4_2 = Jak powyżej, tylko że ten artykuł nie istnieje. Przeciwnie w takim przypadku w sytuacji braku informacji o książce w bazie, tzn. mamy artykuł dla danej książki, jej bieżącej, dla danego artykułu, on przyjmuje nie tą, tylko wtedy wartość tą powyższą. }} Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|tab_lista_artykulow_w_ksiazce_spis}}| _1 = Jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis|StronicowyParser/Potrzebne/Tom V}}. | 2 = {{Code|nazwa_glownego_spisu}} | _2 = Jak w: {{LinkPatrz|spis_tresci|StronicowyParser/Potrzebne/Tom V}}. | 3 = {{Code|tab_inne_spisy}} | _3 = Jak w: {{LinkPatrz|inne_spisy|StronicowyParser/Potrzebne/Tom V}}. | 4 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, i {{Code|nazwa_ksiazki}} | _4 = Te zmienne są kolejno zdefiniowane, jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}} i {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 5 = {{Code|nazwa_artykulu}} | _5 = Jak w: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}. | 6 = {{Code|co_ma_wykrywac}} | _6 = Zmienna sterująca w warunku (instrukcji warunkowej), czy ma wyświetlać wyniki w przypadku innych książek w spisie, gdy to nie jest artykuł danej książki, w dla bieżącego podręcznika, wartość przeciwna niż prawdziwa, powoduje, że jest wyświetlany w ogóle wynik. }} Funkcja zwraca wartości, przypadku gdy ma zrzucać jakąś wartość: <syntaxhighlight lang="lua"> return nazwa_artykulu_strony,tryb; </syntaxhighlight> Wartość '''trybu''' może przyjmować jeden z czterech wartości naturalnych, tzn. od: {{Code|1}}, do: {{Code|4}}. == {{Śródtytuł|p.ObliczeniaInformacje}}{{Code|p.ObliczeniaInformacje}} == == {{Śródtytuł|p.UsuwanieElementowePoziomoweZTablicy}}{{Code|p.UsuwanieElementowePoziomoweZTablicy}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> qq0r8d5wvj7d7fw09i8mk4a799yfpxq 560287 560286 2026-10-29T11:42:43Z Persino 2851 /* {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} */ 560287 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} == Funkcja wykorzystuje do iteracji iterator funkcja zwracaną przez: {{LinkŚródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji|StronicowyParser/Potrzebne/Tom V}}. Tą funkcję zwracaną przez to uruchamiany w każdym obiegu iteracji przez instrukcję pętlową funkcji bezparametrowej: {{Code|iterator}} {{Patrz|iterator}}: <syntaxhighlight lang="lua"> for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do </syntaxhighlight> Funkcja liczy odpowiednik adresowy nieprzekierowaniowy, gdy to liczymy dany artykuł, który jest przekierowaniem, to wtedy jest zwracane, na co on wskazuje, artykuł, który nie jest przekierowaniem. Funkcja też sprawdzam którym typ przypadku rozważamy, dostępne typy: {{GridTabela|klasa=gridtable dwukolumna-tytułowa |liczba wierszy=4|liczba kolumn=2 | nagłówek 1 = Tryb | nagłówek 2 = Opis | komórka 1_1 = {{Code|1}} | komórka 1_2 = Mamy, gdy artykuł jest przekierowaniem danej książki. | komórka 2_1 = {{Code|2}} | komórka 2_2 = Mamy, gdy strona główna bieżącej książki jest przekierowaniem do innej książki. | komórka 3_1 = {{Code|3}} | komórka 3_2 = Gdy dana strona artykułu książki, ale z adresem książki w bazie rozdziałów i artykułu, gdy istnieje, wtedy artykuł książki nie jest przekierowaniem, to wtedy nie jest sprawdzane, czy istnieje, tylko wtedy funkcja zwraca tą drugą wartość taką. | komórka 4_1 = {{Code|4}} | komórka 4_2 = Jak powyżej, tylko że ten artykuł nie istnieje. Przeciwnie w takim przypadku w sytuacji braku informacji o książce w bazie, tzn. mamy artykuł dla danej książki, jej bieżącej, dla danego artykułu, on przyjmuje nie tą, tylko wtedy wartość tą powyższą. }} Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|tab_lista_artykulow_w_ksiazce_spis}}| _1 = Jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis|StronicowyParser/Potrzebne/Tom V}}. | 2 = {{Code|nazwa_glownego_spisu}} | _2 = Jak w: {{LinkPatrz|spis_tresci|StronicowyParser/Potrzebne/Tom V}}. | 3 = {{Code|tab_inne_spisy}} | _3 = Jak w: {{LinkPatrz|inne_spisy|StronicowyParser/Potrzebne/Tom V}}. | 4 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, i {{Code|nazwa_ksiazki}} | _4 = Te zmienne są kolejno zdefiniowane, jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}} i {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 5 = {{Code|nazwa_artykulu}} | _5 = Jak w: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}. | 6 = {{Code|co_ma_wykrywac}} | _6 = Zmienna sterująca w warunku (instrukcji warunkowej), czy ma wyświetlać wyniki w przypadku innych książek w spisie, gdy to nie jest artykuł danej książki, w dla bieżącego podręcznika, wartość przeciwna niż prawdziwa, powoduje, że jest wyświetlany w ogóle wynik. }} Funkcja zwraca wartości, przypadku gdy ma zrzucać jakąś wartość: <syntaxhighlight lang="lua"> return nazwa_artykulu_strony,tryb; </syntaxhighlight> Wartość '''trybu''' może przyjmować jeden z czterech wartości naturalnych, tzn. od: {{Code|1}}, do: {{Code|4}}, w takim wypadku, gdy jest informacja o książce danego artykułu. A w przypadku przeciwnym dla danej strony, gdy artykuł jest bieżącej książki, to od: {{Code|1}}, do: {{Code|3}}. == {{Śródtytuł|p.ObliczeniaInformacje}}{{Code|p.ObliczeniaInformacje}} == == {{Śródtytuł|p.UsuwanieElementowePoziomoweZTablicy}}{{Code|p.UsuwanieElementowePoziomoweZTablicy}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ci8rn0yg6ck8vrdz3spds8kjh20e9iv 560288 560287 2026-10-29T11:48:04Z Persino 2851 /* {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} */ 560288 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == {{Śródtytuł|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}}{{Code|p.OdpowiednikNaPrzemianArtykularnychStronWoluminu}} == Funkcja wykorzystuje do iteracji iterator funkcja zwracaną przez: {{LinkŚródtytuł|p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji|StronicowyParser/Potrzebne/Tom V}}. Tą funkcję zwracaną przez to uruchamiany w każdym obiegu iteracji przez instrukcję pętlową funkcji bezparametrowej: {{Code|iterator}} {{Patrz|iterator}}: <syntaxhighlight lang="lua"> for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do </syntaxhighlight> Funkcja liczy odpowiednik adresowy nieprzekierowaniowy, gdy to liczymy dany artykuł, który jest przekierowaniem, to wtedy jest zwracane, na co on wskazuje, artykuł, który nie jest przekierowaniem. Funkcja też sprawdzam którym typ przypadku rozważamy, dostępne typy: {{GridTabela|klasa=gridtable dwukolumna-tytułowa |liczba wierszy=4|liczba kolumn=2 | nagłówek 1 = Tryb | nagłówek 2 = Opis | komórka 1_1 = {{Code|1}} | komórka 1_2 = Mamy, gdy artykuł jest przekierowaniem danej książki. | komórka 2_1 = {{Code|2}} | komórka 2_2 = Mamy, gdy strona główna bieżącej książki jest przekierowaniem do innej książki. | komórka 3_1 = {{Code|3}} | komórka 3_2 = Gdy dana strona artykułu książki, ale z adresem książki w bazie rozdziałów i artykułu, gdy istnieje, wtedy artykuł książki nie jest przekierowaniem, to wtedy nie jest sprawdzane, czy istnieje, tylko wtedy funkcja zwraca tą drugą wartość taką. | komórka 4_1 = {{Code|4}} | komórka 4_2 = Jak powyżej, tylko że ten artykuł nie istnieje. Przeciwnie w takim przypadku w sytuacji braku informacji o książce w bazie, tzn. mamy artykuł dla danej książki, jej bieżącej, dla danego artykułu, on przyjmuje nie tą, tylko wtedy wartość tą powyższą. }} Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac)...end; </syntaxhighlight> Opis parametrów funkcji: {{OpisParametrów | 1 = {{Code|tab_lista_artykulow_w_ksiazce_spis}}| _1 = Jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis|StronicowyParser/Potrzebne/Tom V}}. | 2 = {{Code|nazwa_glownego_spisu}} | _2 = Jak w: {{LinkPatrz|spis_tresci|StronicowyParser/Potrzebne/Tom V}}. | 3 = {{Code|tab_inne_spisy}} | _3 = Jak w: {{LinkPatrz|inne_spisy|StronicowyParser/Potrzebne/Tom V}}. | 4 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, i {{Code|nazwa_ksiazki}} | _4 = Te zmienne są kolejno zdefiniowane, jak w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}} i {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. | 5 = {{Code|nazwa_artykulu}} | _5 = Jak w: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}. | 6 = {{Code|co_ma_wykrywac}} | _6 = Zmienna sterująca w warunku (instrukcji warunkowej), czy ma wyświetlać wyniki w przypadku innych książek w spisie, gdy to nie jest artykuł danej książki, w dla bieżącego podręcznika, wartość przeciwna niż prawdziwa, powoduje, że jest wyświetlany w ogóle wynik. }} Funkcja zwraca wartości, przypadku gdy ma zrzucać jakąś wartość: <syntaxhighlight lang="lua"> return nazwa_artykulu_strony,tryb; </syntaxhighlight> Wartość '''trybu''' może przyjmować jeden z czterech wartości naturalnych, tzn. od: {{Code|1}}, do: {{Code|4}}, w takim wypadku, gdy jest informacja o książce danego artykułu, w bazie rozdziałów i artykułów, dla niego. A w przypadku przeciwnym dla danej strony, gdy artykuł jest bieżącej książki, to od: {{Code|1}}, do: {{Code|3}}. ---- Informacja o książce jest taka, na jaką wskazuje opis w module dokumentacji modułów, na stronie: {{lr2|Moduły/StronicowyParser/SpisTreści}}. == {{Śródtytuł|p.ObliczeniaInformacje}}{{Code|p.ObliczeniaInformacje}} == == {{Śródtytuł|p.UsuwanieElementowePoziomoweZTablicy}}{{Code|p.UsuwanieElementowePoziomoweZTablicy}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 3a0ihxm26iui8aoszwwjoa3x5ytj5om