Wikibooks plwikibooks https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna MediaWiki 1.47.0-wmf.16 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 Kategoria:Poczekalnia DNU - dyskusja (artykuły) 14 1580 552440 517633 2026-08-19T12:03:48Z Persino 2851 552440 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Śródtekst|uchwyt=Poczekalnia_DNU-dyskusja|klucz=artykuły|bez preprocess=tak|tekst= Pojedyncze jednostki (szablony, kategorie, artykuły, podręczniki itp.) umieszczamy tu wstawiając do tekstu szablon {{s|SdU}}, {{s|DoSkasowania}} lub {{s|DNU}}. Reguły usuwania oraz dyskusja dla poszczególnych tych jednostek są na stronie {{lr|Poczekalnia|poczekalni}}, zgłoszenia jednostek {{#switch:{{{klucz}}}|artykuły=posiadające problemy z treścią lub tekstem są na stronie {{lru|Poczekalnia/artykuły}}|kwestie techniczne=z poważnymi problemami technicznymi są na stronie {{lru|Poczekalnia/kwestie techniczne}}|naprawa=z drobnymi problemami wymagające pilnej naprawy są na stronie {{lru|Poczekalnia/naprawa}}|prowokacje=z aktami prowokacyjnymi są na stronie {{lru|Poczekalnia/prowokacje}}}}, a wszystkie zgłoszenia na {{lru|Poczekalnia/Zgłoszenia}}. Kategoria zbiera jednostki z tymi wspomnianymi szablonami - nie należy ich kasować, tylko informują, że odbywa się dyskusja nad nimi, które przypisane są do tej kategorii. === A oto ilustracja wywołania szablonu {{s|DNU}} === A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', jednostki: * '''Przykład:''' ** {{s|1=DNU|2={{#switch:{{{klucz}}}|artykuły=artykuł|kwestie techniczne=technikalia|naprawa=naprawa|prowokacje=prowokacja}}|3=podstrona=nazwa podstrony}} *** nazwa podstrony, np.: '''''{{Czas|Y:m:d}}:Strona główna książki/Nazwa podstrony'''''z aktami prowokacyjnymi są na stronie {{lru|Poczekalnia/prowokacje}}. *** '''{{#switch:{{{klucz}}}|artykuły=artykuł|kwestie techniczne=technikalia|naprawa=naprawa|prowokacje=prowokacja}}''', szablon z ustawionym tym parametrem umieszcza jednostkę w kategorii tutaj. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{DNU|{{#switch:{{{klucz}}}|artykuły=artykuł|kwestie techniczne=technikalia|naprawa=naprawa|prowokacje=prowokacja}}|podstrona={{Czas|Y:m:d}}:Strona główna książki/Nazwa podstrony|dokumentacja=tak|nazwa przestrzeni nazw=|nazwa jednostki=Strona|nazwij jednostką=tak}}}} === lub poprzez wywołanie {{s|SdU}} lub {{s|DoSkasowania}} === A oto inny przykład ilustrujący zasadę umieszczania '''w tej kategorii''', jednostki, przy pomocy innych szablonów niż poprzednio: * '''Przykład:''' ** {{#switch:{{{klucz}}}|artykuły={{s|SdU}},}} {{s|SdU|{{#switch:{{{klucz}}}|artykuły=artykuły|kwestie techniczne=kwestie techniczne|naprawa=naprawa|prowokacje=prowokacje}}}}. *** Szablon umieszcza jednostkę w kategorii tutaj. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{SdU|{{#switch:{{{klucz}}}|artykuły=artykuły|kwestie techniczne=kwestie techniczne|naprawa=naprawa|prowokacje=prowokacje}}|nazwa przestrzeni nazw=|nazwa jednostki=Strona|nazwij jednostką=tak}}}} * Wywołanie {{s|DoSkasowania}} jest takie samo jak dla szablonu {{s|SdU}}, bo szablon {{s|DoSkasowania}} przekierowuje do szablonu {{s|SdU}}. }} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - dyskusja|sortuj spacją=tak}} cl8030bkgcb8979v5bwqzlk3asgrlrv 552441 552440 2026-08-19T12:05:59Z Persino 2851 552441 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Śródtekst|uchwyt=Poczekalnia_DNU-dyskusja|klucz=artykuły|bez preprocess=tak|tekst= Pojedyncze jednostki (szablony, kategorie, artykuły, podręczniki itp.) umieszczamy tu wstawiając do tekstu szablon {{s|SdU}}, {{s|DoSkasowania}} lub {{s|DNU}}. Reguły usuwania oraz dyskusja dla poszczególnych tych jednostek są na stronie {{lr|Poczekalnia|poczekalni}}, zgłoszenia jednostek {{#switch:{{{klucz}}}|artykuły=posiadające problemy z treścią lub tekstem są na stronie {{lru|Poczekalnia/artykuły}}|kwestie techniczne=z poważnymi problemami technicznymi są na stronie {{lru|Poczekalnia/kwestie techniczne}}|naprawa=z drobnymi problemami wymagające pilnej naprawy są na stronie {{lru|Poczekalnia/naprawa}}|prowokacje=z aktami prowokacyjnymi są na stronie {{lru|Poczekalnia/prowokacje}}}}, a wszystkie zgłoszenia na {{lru|Poczekalnia/Zgłoszenia}}. Kategoria zbiera jednostki z tymi wspomnianymi szablonami - nie należy ich kasować, tylko informują, że odbywa się dyskusja nad nimi, które przypisane są do tej kategorii. === A oto ilustracja wywołania szablonu {{s|DNU}} === A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', jednostki: * '''Przykład:''' ** {{s|1=DNU|2={{#switch:{{{klucz}}}|artykuły=artykuł|kwestie techniczne=technikalia|naprawa=naprawa|prowokacje=prowokacja}}|3=podstrona=nazwa podstrony}} *** nazwa podstrony, np.: '''''{{Czas|Y:m:d}}:Strona główna książki/Nazwa podstrony'''''z aktami prowokacyjnymi są na stronie {{lru|Poczekalnia/prowokacje}}. *** '''{{#switch:{{{klucz}}}|artykuły=artykuł|kwestie techniczne=technikalia|naprawa=naprawa|prowokacje=prowokacja}}''', szablon z ustawionym tym parametrem umieszcza jednostkę w kategorii tutaj. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{DNU|{{#switch:{{{klucz}}}|artykuły=artykuł|kwestie techniczne=technikalia|naprawa=naprawa|prowokacje=prowokacja}}|podstrona={{Czas|Y:m:d}}:Strona główna książki/Nazwa podstrony|dokumentacja=tak|nazwa przestrzeni nazw=|nazwa jednostki=Strona|nazwij jednostką=tak}}}} === lub poprzez wywołanie {{s|SdU}} lub {{s|DoSkasowania}} === A oto inny przykład ilustrujący zasadę umieszczania '''w tej kategorii''', jednostki, przy pomocy innych szablonów niż poprzednio: * '''Przykład:''' ** {{#switch:{{{klucz}}}|artykuły={{s|SdU}},}} {{s|SdU|{{#switch:{{{klucz}}}|artykuły=artykuły|kwestie techniczne=kwestie techniczne|naprawa=naprawa|prowokacje=prowokacje}}}}. *** Szablon umieszcza jednostkę w kategorii tutaj. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{SdU|{{#switch:{{{klucz}}}|artykuły=artykuły|kwestie techniczne=kwestie techniczne|naprawa=naprawa|prowokacje=prowokacje}}|nazwa przestrzeni nazw=|nazwa jednostki=Strona|nazwij jednostką=tak}}}} * Wywołanie {{s|DoSkasowania}} jest takie samo jak dla szablonu {{s|SdU}}, bo szablon {{s|DoSkasowania}} przekierowuje do szablonu {{s|SdU}}. }} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - dyskusja|sortuj spacją=tak}} 695lg45zjfsrytq7ea2baolfsy4idch Kategoria:Poczekalnia DNU - dyskusja (prowokacje) 14 33292 552444 517636 2026-08-19T12:11:16Z Persino 2851 552444 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-dyskusja|klucz=prowokacje|nazwa artykułu=|nazwa książki=Kategoria:Poczekalnia DNU - dyskusja (artykuły)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - dyskusja|sortuj spacją=tak}} 6ixszttn1pdl3yfy4jv83lcg65hy5yu 552454 552444 2026-08-19T15:20:04Z Persino 2851 552454 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-dyskusja|klucz=prowokacje|nazwa artykułu=|nazwa książki=Poczekalnia DNU - dyskusja (artykuły)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - dyskusja|sortuj spacją=tak}} cpoi7jmbd9mih2lakoazfr3lltpl07k Kategoria:Poczekalnia DNU - dyskusja (kwestie techniczne) 14 33293 552442 517635 2026-08-19T12:09:05Z Persino 2851 552442 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-dyskusja|klucz=kwestie techniczne|nazwa artykułu=|nazwa książki=Kategoria:Poczekalnia DNU - dyskusja (artykuły)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - dyskusja|sortuj spacją=tak}} mngsliuknjpbgx9p1l55i2sa4gheb7o 552452 552442 2026-08-19T15:19:21Z Persino 2851 552452 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-dyskusja|klucz=kwestie techniczne|nazwa artykułu=|nazwa książki=Poczekalnia DNU - dyskusja (artykuły)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - dyskusja|sortuj spacją=tak}} 8py5u7ujyw7h0ehph9mvcf2n4d2gea7 Kategoria:Poczekalnia DNU - dyskusja (naprawa) 14 33294 552443 517637 2026-08-19T12:09:59Z Persino 2851 552443 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-dyskusja|klucz=naprawa|nazwa artykułu=|nazwa książki=Kategoria:Poczekalnia DNU - dyskusja (artykuły)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - dyskusja|sortuj spacją=tak}} n04lsvzy2tpdyfdhda59ax8guv07shr 552453 552443 2026-08-19T15:19:43Z Persino 2851 552453 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-dyskusja|klucz=naprawa|nazwa artykułu=|nazwa książki=Poczekalnia DNU - dyskusja (artykuły)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - dyskusja|sortuj spacją=tak}} imgmr7opuo9zw5eqtx9e3jglrlgy8oo Kategoria:Poczekalnia DNU - załatwiono (zostawiono) 14 33295 552449 517638 2026-08-19T12:29:21Z Persino 2851 552449 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-załatwiono|klucz=zostawiono|nazwa artykułu=|nazwa książki=Kategoria:Poczekalnia DNU - załatwiono (brak wyniku)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - załatwiono|sortuj spacją=tak}} 13rnptep2125cj325kysn094vv6ml71 552457 552449 2026-08-19T15:21:39Z Persino 2851 552457 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-załatwiono|klucz=zostawiono|nazwa artykułu=|nazwa książki=Poczekalnia DNU - załatwiono (brak wyniku)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - załatwiono|sortuj spacją=tak}} 1do9hoqmg8ly52z16q0xzm6k179qsr3 Kategoria:Poczekalnia DNU - załatwiono (usuwane) 14 33296 552448 517639 2026-08-19T12:28:42Z Persino 2851 552448 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-załatwiono|klucz=usuwane|nazwa artykułu=|nazwa książki=Kategoria:Poczekalnia DNU - załatwiono (brak wyniku)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - załatwiono|sortuj spacją=tak}} 1iizro8bwleunx36w1gmta7sjxup5j1 552456 552448 2026-08-19T15:21:14Z Persino 2851 552456 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-załatwiono|klucz=usuwane|nazwa artykułu=|nazwa książki=Poczekalnia DNU - załatwiono (brak wyniku)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - załatwiono|sortuj spacją=tak}} 2qqltn4chygdjylpwlbnlnmisstuklu Kategoria:Poczekalnia DNU - załatwiono (naprawiono) 14 33297 552447 517640 2026-08-19T12:27:45Z Persino 2851 552447 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-załatwiono|klucz=naprawiono|nazwa artykułu=|nazwa książki=Kategoria:Poczekalnia DNU - załatwiono (brak wyniku)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - załatwiono|sortuj spacją=tak}} 076p5buuewe88kt3s69quj4ftue5hpq 552455 552447 2026-08-19T15:20:46Z Persino 2851 552455 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=Poczekalnia_DNU-załatwiono|klucz=naprawiono|nazwa artykułu=|nazwa książki=Poczekalnia DNU - załatwiono (brak wyniku)}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - załatwiono|sortuj spacją=tak}} 22psjgqvocd2nfbh4whvavjm48ovebh Kategoria:Poczekalnia DNU - załatwiono (brak wyniku) 14 33301 552445 517642 2026-08-19T12:20:12Z Persino 2851 552445 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Śródtekst|uchwyt=Poczekalnia_DNU-załatwiono|klucz=brak wyniku|bez preprocess=tak|tekst= Pojedyncze jednostki (szablony, kategorie, artykuły, podręczniki itp.) umieszczamy tutaj poprzez umieszczenie go tutaj poprzez {{s|DNU}} lub {{s|SdUwynik}}. Reguły usuwania oraz dyskusja dla poszczególnych tych jednostek są na stronie {{lr|Poczekalnia|poczekalni}}, a wszystkie zgłoszenia na {{lru|Poczekalnia/Zgłoszenia}}. W tej kategorii są jednostki, w wyniku których nie uzyskano konsensusu w sprawie pozostawienia lub usunięcia ich z Wikibooks. === A oto ilustracja wywołania szablonu {{s|DNU}} === A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', jednostki: * '''Przykład:''' ** {{s|1=DNU|2={{#switch:{{{klucz}}}|brak wyniku=brak wyniku|naprawiono=naprawiono|usuwane=usuwane|zostawiono=zostawiono}}|3=zakończenie=data|4=podstrona=nazwa podstrony}}: *** nazwa podstrony, np.: '''''Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna książki/Nazwa podstrony''''' (nieopcjonalny) *** data, to jest data zakończenia dyskusji nad jednostką, np.: '''''{{Czas|Y-m-d}}''''' (opcjonalny) *** '''{{#switch:{{{klucz}}}|brak wyniku=brak wyniku|naprawiono=naprawiono|usuwane=usuwane|zostawiono=zostawiono}}''', szablon z ustawionym tym parametrem umieszcza jednostkę w kategorii tutaj. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{DNU|{{#switch:{{{klucz}}}|brak wyniku=brak wyniku|naprawiono=naprawiono|usuwane=usuwane|zostawiono=zostawiono}}|zakończenie={{Czas|Y-m-d}}|podstrona=Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna książki/Nazwa podstrony|dokumentacja=tak|nazwa przestrzeni nazw=|nazwa jednostki=Strona|nazwij jednostką=tak}}}} === lub poprzez wywołanie {{s|SdUwynik}} === A oto inny przykład ilustrujący zasadę umieszczania '''w tej kategorii''', jednostki, przy pomocy innego szablonu niż poprzednio: * '''Przykład:''' ** {{s|SdUwynik|{{#switch:{{{klucz}}}|brak wyniku=brak wyniku|naprawiono=naprawiono|usuwane=usuwane|zostawiono=zostawiono}}}}. *** Szablon umieszcza jednostkę w kategorii tutaj. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{SdUwynik|{{#switch:{{{klucz}}}|brak wyniku=brak wyniku|naprawiono=naprawiono|usuwane=usuwane|zostawiono=zostawiono}}|nazwa przestrzeni nazw=|nazwa jednostki=Strona|nazwij jednostką=tak}}}} }} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - załatwiono|sortuj spacją=tak}} dng0sfxpmvkdl92f7g7w9xd8eczyb7x 552446 552445 2026-08-19T12:23:33Z Persino 2851 552446 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Śródtekst|uchwyt=Poczekalnia_DNU-załatwiono|klucz=brak wyniku|bez preprocess=tak|tekst= Pojedyncze jednostki (szablony, kategorie, artykuły, podręczniki itp.) umieszczamy tutaj poprzez umieszczenie go tutaj poprzez {{s|DNU}} lub {{s|SdUwynik}}. Reguły usuwania oraz dyskusja dla poszczególnych tych jednostek są na stronie {{lr|Poczekalnia|poczekalni}}, a wszystkie zgłoszenia na {{lru|Poczekalnia/Zgłoszenia}}. W tej kategorii są jednostki, w wyniku których {{#switch:{{{klucz}}}|brak wyniku=nie uzyskano konsensusu w sprawie pozostawienia lub usunięcia ich z Wikibooks|naprawiono=po dyskusji one zostały naprawione lub nie podjęto żadnych działań w celu ich naprawy|usuwane=uzyskano konsensus w sprawie usunięcia ich z Wikibooks|zostawiono=uzyskano konsensus w sprawie pozostawienia ich w Wikibooks}}. === A oto ilustracja wywołania szablonu {{s|DNU}} === A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', jednostki: * '''Przykład:''' ** {{s|1=DNU|2={{#switch:{{{klucz}}}|brak wyniku=brak wyniku|naprawiono=naprawiono|usuwane=usuwane|zostawiono=zostawiono}}|3=zakończenie=data|4=podstrona=nazwa podstrony}}: *** nazwa podstrony, np.: '''''Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna książki/Nazwa podstrony''''' (nieopcjonalny) *** data, to jest data zakończenia dyskusji nad jednostką, np.: '''''{{Czas|Y-m-d}}''''' (opcjonalny) *** '''{{#switch:{{{klucz}}}|brak wyniku=brak wyniku|naprawiono=naprawiono|usuwane=usuwane|zostawiono=zostawiono}}''', szablon z ustawionym tym parametrem umieszcza jednostkę w kategorii tutaj. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{DNU|{{#switch:{{{klucz}}}|brak wyniku=brak wyniku|naprawiono=naprawiono|usuwane=usuwane|zostawiono=zostawiono}}|zakończenie={{Czas|Y-m-d}}|podstrona=Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna książki/Nazwa podstrony|dokumentacja=tak|nazwa przestrzeni nazw=|nazwa jednostki=Strona|nazwij jednostką=tak}}}} === lub poprzez wywołanie {{s|SdUwynik}} === A oto inny przykład ilustrujący zasadę umieszczania '''w tej kategorii''', jednostki, przy pomocy innego szablonu niż poprzednio: * '''Przykład:''' ** {{s|SdUwynik|{{#switch:{{{klucz}}}|brak wyniku=brak wyniku|naprawiono=naprawiono|usuwane=usuwane|zostawiono=zostawiono}}}}. *** Szablon umieszcza jednostkę w kategorii tutaj. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{SdUwynik|{{#switch:{{{klucz}}}|brak wyniku=brak wyniku|naprawiono=naprawiono|usuwane=usuwane|zostawiono=zostawiono}}|nazwa przestrzeni nazw=|nazwa jednostki=Strona|nazwij jednostką=tak}}}} }} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Poczekalnia DNU - załatwiono|sortuj spacją=tak}} qdng7c4gbdx0wggmvu5yku4pqmpj04k Kategoria:Strony szablonów, do zintegrowania 14 33348 552495 546177 2026-08-19T16:07:36Z Persino 2851 552495 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona szablonu|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} g3z64t2vlbj2jqe167ipcxfpwaltdup Kategoria:Pliki podejrzane o naruszenie praw autorskich 14 33424 552501 546444 2026-08-19T16:14:09Z Persino 2851 552501 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|2|3}} {{PobierzŚródtekst|klucz=strona pliku|uchwyt=NPA|nazwa artykułu=|nazwa książki=Artykuły podejrzane o naruszenie praw autorskich}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki podejrzane o naruszenie praw autorskich}} gsw2k1qnoje4llrft2j5mistlycxkrc Kategoria:Artykuły wymagające dopracowania 14 41095 552450 450993 2026-08-19T15:10:22Z Persino 2851 552450 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Śródtekst|uchwyt=dopracować|klucz=artykuł|bez preprocess=tak|tekst= Pojedyncze {{#switch:{{{klucz|artykuł|}}}|artykuł=artykuły|podręcznik=podręczniki|artykuł dla dzieci=artykuły dla dzieci,|podręcznik dla dzieci=podręczniki dla dzieci,|jednostka brudnopisu projektu=jednostki brudnopisu projektu, w nibyprzestrzeni nazw {{lr2|Brudnopis}}|jednostka użytkownika=jednostki użytkowników,|strona brudnopisu opisu modułu=strony opisu brudnopisu modułów (dokumentacje brudnopisu modułów), w nibyprzestrzeni nazw {{ld2|Brudnopis}}|strona brudnopisu opisu szablonu=strony opisu brudnopisu szablonów (dokumentacje brudnopisu szablonów), w nibyprzestrzeni nazw {{ls2|Brudnopis}}|strona opisu modułu=strony opisu modułów (dokumentacje modułów),|strona opisu szablonu=strony opisu szablonów (dokumentacje szablonów),|strona kategorii=strony kategorii,|strona pomocy=strony pomocy|strona projektu=strony projektu}} w przestrzeni nazw {{Np|{{#switch:{{{klucz|artykuł|}}}|artykuł|podręcznik=(main)|artykuł dla dzieci|podręcznik dla dzieci=Wikijunior|jednosta brudnopisu projektu=Project|jednostka użytkownika=User|strona brudnopisu opisu modułu=Module|strona brudnopisu opisu szablonu=Template|strona opisu modułu=Module|strona opisu szablonu=Template|strona kategorii=Category|strona pomocy=Help|strona projektu=Project}}|link=tak}}, umieszczamy tu, wstawiając do ich wikikodu szablon {{s|Dopracować}} lub {{s|Dopracować2}}. Wymagają one dopracowania takiego opisanego w pierwszym parametrze tego szablonu. W przypadku bez wskazania problemu jaki na stronie z tekstem panuje lepiej użyć szablonu {{s|Dopracować2}} niż {{s|Dopracować}}, w przypadku przeciwnym jest {{s|Dopracować}} (wtedy ten szablon nie umieszcza strony w kategoriach ogólnych - bez wskazania problemu, tylko szczególnych - ze wskazaniem problemu). {{#switch:{{{klucz|artykuł}}}|jednostka brudnopisu projektu=W tej przestrzeni nazw zaznaczamy tylko jednostki, będące artykułami (same strony) i podręcznikami (tylko ich strony główne), za pomocą tego szablonu, tak będziemy mówili, oznaczając tak strony brudnopisu projektu.|jednostka użytkownika=W tej przestrzeni nazw zaznaczamy tylko jednostki, będące artykułami (same strony) i podręcznikami (tylko ich strony główne), za pomocą tego szablonu, tak będziemy mówili, oznaczając tak strony użytkowników.}} == Ilustracja wywołania szablonu {{s|Dopracować}} == A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', {{#switch:{{{klucz|artykuł}}}|artykuł=artykułu|podręcznik=podręcznika|artykuł dla dzieci=artykułu dla dzieci|podręcznik dla dzieci=podręcznika dla dzieci|jednostka brudnopisu projektu=jednostki brudnopisu projektu|jednostka użytkownika=jednostki użytkownika|strona brudnopisu opisu modułu=strony brudnopisu opisu modułu|strona brudnopisu opisu szablonu=strony brudnopisu opisu szablonu|strona opisu modułu=strony opisu modułu|strona opisu szablonu=strony opisu szablonu|strona kategorii=strony kategorii|strona pomocy=strony pomocy|strona projektu=strony projektu}}: * {{s|1=Dopracować|2=Oto jest powód}} ** On przyjmuje pierwszy parametr, nienazwany lub nazwany, jako '''1''' określający powód, co w tekście musi być dopracowane. ** Szablon umieszcza {{#switch:{{{klucz|artykuł}}}|artykuł=artykuł|podręcznik=podrecznik|artykuł dla dzieci=artykuł dla dzieci,|podręcznik dla dzieci=podręcznik dla dzieci,|jednostka budnopisu projektu=jednostkę brudnopisu projektu,|jednostka użytkownika=jednostkę użytkownika,|strona brudnopisu opisu modułu=stronę brudnopisu opisu modułu,|strona brudnopisu opisu szablonu=stronę brudnopisu opisu szablonu,|strona opisu modułu=stronę opisu modułu,|strona opisu szablonu=stronę opisu szablonu,|strona kategorii=stronę kategorii,,|strona pomocy=stronę pomocy,|strona projektu=stronę projektu,}} w kategorii tutaj, ukrytej dla zwykłego użytkownika. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Dopracować|Oto jest powód|typ jednostki={{{klucz|artykuł}}}}}}} == Ilustracja wywołania szablonu {{s|Dopracować2}} == A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', {{#switch:{{{klucz|artykuł}}}|artykuł=artykułu|podręcznik=podręcznika|artykuł dla dzieci=artykułu dzieci|podręcznik dla dzieci=podręcznika dla dzieci|jednostka brudnopisu projektu=jednostki brudnopisu projektu|jednostka użytkownika=jednostki użytkownika|strona brudnopisu opisu modułu=strony brudnopisu opisu modułu|strona brudnopisu opisu szablonu=strony brudnopisu opisu szablonu|strona opisu modułu=strony opisu modułu|strona opisu szablonu=strony opisu szablonu|strona kategorii=strony kategorii|strona pomocy=strony pomocy|strona projektu=strony projektu}}: * {{s|1=Dopracować2|2=Oto jest powód}} ** On przyjmuje pierwszy parametr, nienazwany lub nazwany, jako '''1''' określający powód, co w tekście musi być dopracowane. ** Szablon umieszcza {{#switch:{{{klucz|artykuł}}}|artykuł=artykuł|podręcznik=podręcznik|artykuł dla dzieci=artykuł dla dzieci,|podręcznik dla dzieci=podręcznik dla dzieci,|jednostka brudnopisu projektu=jednostkę brudnopisu projektu,|jednostka użytkownika=jednostkę użytkownika,|strona brudnopisu opisu modułu=stronę brudnopisu opisu modułu,|strona brudnopisu opisu szablonu=stronę brudnopisu opisu szablonu,|strona opisu modułu=stronę opisu modułu,|strona opisu szablonu=stronę opisu szablonu,|strona kategorii=strony kategorii,|strona pomocy=stronę pomocy,|strona projektu=stronę projektu,}} w kategorii tutaj, ukrytej dla zwykłego użytkownika. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki={{{klucz|artykuł}}}}}}} }} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} l8p8e45iyaw3jk86cwru3k1fs12bo3n 552458 552450 2026-08-19T15:27:32Z Persino 2851 552458 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Śródtekst|uchwyt=dopracować|klucz=artykuł|bez preprocess=tak|tekst= Pojedyncze {{#switch:{{{klucz|artykuł|}}}|artykuł=artykuły|podręcznik=podręczniki|artykuł dla dzieci=artykuły dla dzieci,|podręcznik dla dzieci=podręczniki dla dzieci,|jednostka brudnopisu projektu=jednostki brudnopisu projektu, w nibyprzestrzeni nazw {{lr2|Brudnopis}}|jednostka użytkownika=jednostki użytkowników,|strona brudnopisu opisu modułu=strony opisu brudnopisu modułów (dokumentacje brudnopisu modułów), w nibyprzestrzeni nazw {{ld2|Brudnopis}}|strona brudnopisu opisu szablonu=strony opisu brudnopisu szablonów (dokumentacje brudnopisu szablonów), w nibyprzestrzeni nazw {{ls2|Brudnopis}}|strona opisu modułu=strony opisu modułów (dokumentacje modułów),|strona opisu szablonu=strony opisu szablonów (dokumentacje szablonów),|strona kategorii=strony kategorii,|strona pomocy=strony pomocy|strona projektu=strony projektu}} w przestrzeni nazw {{Np|{{#switch:{{{klucz|artykuł|}}}|artykuł|podręcznik=(main)|artykuł dla dzieci|podręcznik dla dzieci=Wikijunior|jednosta brudnopisu projektu=Project|jednostka użytkownika=User|strona brudnopisu opisu modułu=Module|strona brudnopisu opisu szablonu=Template|strona opisu modułu=Module|strona opisu szablonu=Template|strona kategorii=Category|strona pomocy=Help|strona projektu=Project}}|link=tak}}, umieszczamy tu, wstawiając do ich wikikodu szablon {{s|Dopracować}} lub {{s|Dopracować2}}. Wymagają one dopracowania takiego opisanego w pierwszym parametrze tego szablonu. W przypadku bez wskazania problemu jaki na stronie z tekstem panuje lepiej użyć szablonu {{s|Dopracować2}} niż {{s|Dopracować}}, w przypadku przeciwnym jest {{s|Dopracować}} (wtedy ten szablon nie umieszcza strony w kategoriach ogólnych - bez wskazania problemu, tylko szczególnych - ze wskazaniem problemu). {{#switch:{{{klucz|artykuł}}}|jednostka brudnopisu projektu=W tej przestrzeni nazw zaznaczamy tylko jednostki, będące artykułami (same strony) i podręcznikami (tylko ich strony główne), za pomocą tego szablonu, tak będziemy mówili, oznaczając tak strony brudnopisu projektu.|jednostka użytkownika=W tej przestrzeni nazw zaznaczamy tylko jednostki, będące artykułami (same strony) i podręcznikami (tylko ich strony główne), za pomocą tego szablonu, tak będziemy mówili, oznaczając tak strony użytkowników.}} == Ilustracja wywołania szablonu {{s|Dopracować}} == A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', {{#switch:{{{klucz|artykuł}}}|artykuł=artykułu|podręcznik=podręcznika|artykuł dla dzieci=artykułu dla dzieci|podręcznik dla dzieci=podręcznika dla dzieci|jednostka brudnopisu projektu=jednostki brudnopisu projektu|jednostka użytkownika=jednostki użytkownika|strona brudnopisu opisu modułu=strony brudnopisu opisu modułu|strona brudnopisu opisu szablonu=strony brudnopisu opisu szablonu|strona opisu modułu=strony opisu modułu|strona opisu szablonu=strony opisu szablonu|strona kategorii=strony kategorii|strona pomocy=strony pomocy|strona projektu=strony projektu}}: * {{s|1=Dopracować|2=Oto jest powód}} ** On przyjmuje pierwszy parametr, nienazwany lub nazwany, jako '''1''' określający powód, co w tekście musi być dopracowane. ** Szablon umieszcza {{#switch:{{{klucz|artykuł}}}|artykuł=artykuł|podręcznik=podrecznik|artykuł dla dzieci=artykuł dla dzieci,|podręcznik dla dzieci=podręcznik dla dzieci,|jednostka brudnopisu projektu=jednostkę brudnopisu projektu,|jednostka użytkownika=jednostkę użytkownika,|strona brudnopisu opisu modułu=stronę brudnopisu opisu modułu,|strona brudnopisu opisu szablonu=stronę brudnopisu opisu szablonu,|strona opisu modułu=stronę opisu modułu,|strona opisu szablonu=stronę opisu szablonu,|strona kategorii=stronę kategorii,|strona pomocy=stronę pomocy,|strona projektu=stronę projektu,}} w kategorii tutaj, ukrytej dla zwykłego użytkownika. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Dopracować|Oto jest powód|typ jednostki={{{klucz|artykuł}}}}}}} == Ilustracja wywołania szablonu {{s|Dopracować2}} == A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', {{#switch:{{{klucz|artykuł}}}|artykuł=artykułu|podręcznik=podręcznika|artykuł dla dzieci=artykułu dzieci|podręcznik dla dzieci=podręcznika dla dzieci|jednostka brudnopisu projektu=jednostki brudnopisu projektu|jednostka użytkownika=jednostki użytkownika|strona brudnopisu opisu modułu=strony brudnopisu opisu modułu|strona brudnopisu opisu szablonu=strony brudnopisu opisu szablonu|strona opisu modułu=strony opisu modułu|strona opisu szablonu=strony opisu szablonu|strona kategorii=strony kategorii|strona pomocy=strony pomocy|strona projektu=strony projektu}}: * {{s|1=Dopracować2|2=Oto jest powód}} ** On przyjmuje pierwszy parametr, nienazwany lub nazwany, jako '''1''' określający powód, co w tekście musi być dopracowane. ** Szablon umieszcza {{#switch:{{{klucz|artykuł}}}|artykuł=artykuł|podręcznik=podręcznik|artykuł dla dzieci=artykuł dla dzieci,|podręcznik dla dzieci=podręcznik dla dzieci,|jednostka brudnopisu projektu=jednostkę brudnopisu projektu,|jednostka użytkownika=jednostkę użytkownika,|strona brudnopisu opisu modułu=stronę brudnopisu opisu modułu,|strona brudnopisu opisu szablonu=stronę brudnopisu opisu szablonu,|strona opisu modułu=stronę opisu modułu,|strona opisu szablonu=stronę opisu szablonu,|strona kategorii=strony kategorii,|strona pomocy=stronę pomocy,|strona projektu=stronę projektu,}} w kategorii tutaj, ukrytej dla zwykłego użytkownika. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki={{{klucz|artykuł}}}}}}} }} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} 8o1xonpqj8x8syuq53frdydcpfds99b 552459 552458 2026-08-19T15:28:53Z Persino 2851 552459 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Śródtekst|uchwyt=dopracować|klucz=artykuł|bez preprocess=tak|tekst= Pojedyncze {{#switch:{{{klucz|artykuł|}}}|artykuł=artykuły|podręcznik=podręczniki|artykuł dla dzieci=artykuły dla dzieci,|podręcznik dla dzieci=podręczniki dla dzieci,|jednostka brudnopisu projektu=jednostki brudnopisu projektu, w nibyprzestrzeni nazw {{lr2|Brudnopis}}|jednostka użytkownika=jednostki użytkowników,|strona brudnopisu opisu modułu=strony opisu brudnopisu modułów (dokumentacje brudnopisu modułów), w nibyprzestrzeni nazw {{ld2|Brudnopis}}|strona brudnopisu opisu szablonu=strony opisu brudnopisu szablonów (dokumentacje brudnopisu szablonów), w nibyprzestrzeni nazw {{ls2|Brudnopis}}|strona opisu modułu=strony opisu modułów (dokumentacje modułów),|strona opisu szablonu=strony opisu szablonów (dokumentacje szablonów),|strona kategorii=strony kategorii,|strona pomocy=strony pomocy|strona projektu=strony projektu}} w przestrzeni nazw {{Np|{{#switch:{{{klucz|artykuł|}}}|artykuł|podręcznik=(main)|artykuł dla dzieci|podręcznik dla dzieci=Wikijunior|jednostka brudnopisu projektu=Project|jednostka użytkownika=User|strona brudnopisu opisu modułu=Module|strona brudnopisu opisu szablonu=Template|strona opisu modułu=Module|strona opisu szablonu=Template|strona kategorii=Category|strona pomocy=Help|strona projektu=Project}}|link=tak}}, umieszczamy tu, wstawiając do ich wikikodu szablon {{s|Dopracować}} lub {{s|Dopracować2}}. Wymagają one dopracowania takiego opisanego w pierwszym parametrze tego szablonu. W przypadku bez wskazania problemu jaki na stronie z tekstem panuje lepiej użyć szablonu {{s|Dopracować2}} niż {{s|Dopracować}}, w przypadku przeciwnym jest {{s|Dopracować}} (wtedy ten szablon nie umieszcza strony w kategoriach ogólnych - bez wskazania problemu, tylko szczególnych - ze wskazaniem problemu). {{#switch:{{{klucz|artykuł}}}|jednostka brudnopisu projektu=W tej przestrzeni nazw zaznaczamy tylko jednostki, będące artykułami (same strony) i podręcznikami (tylko ich strony główne), za pomocą tego szablonu, tak będziemy mówili, oznaczając tak strony brudnopisu projektu.|jednostka użytkownika=W tej przestrzeni nazw zaznaczamy tylko jednostki, będące artykułami (same strony) i podręcznikami (tylko ich strony główne), za pomocą tego szablonu, tak będziemy mówili, oznaczając tak strony użytkowników.}} == Ilustracja wywołania szablonu {{s|Dopracować}} == A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', {{#switch:{{{klucz|artykuł}}}|artykuł=artykułu|podręcznik=podręcznika|artykuł dla dzieci=artykułu dla dzieci|podręcznik dla dzieci=podręcznika dla dzieci|jednostka brudnopisu projektu=jednostki brudnopisu projektu|jednostka użytkownika=jednostki użytkownika|strona brudnopisu opisu modułu=strony brudnopisu opisu modułu|strona brudnopisu opisu szablonu=strony brudnopisu opisu szablonu|strona opisu modułu=strony opisu modułu|strona opisu szablonu=strony opisu szablonu|strona kategorii=strony kategorii|strona pomocy=strony pomocy|strona projektu=strony projektu}}: * {{s|1=Dopracować|2=Oto jest powód}} ** On przyjmuje pierwszy parametr, nienazwany lub nazwany, jako '''1''' określający powód, co w tekście musi być dopracowane. ** Szablon umieszcza {{#switch:{{{klucz|artykuł}}}|artykuł=artykuł|podręcznik=podrecznik|artykuł dla dzieci=artykuł dla dzieci,|podręcznik dla dzieci=podręcznik dla dzieci,|jednostka brudnopisu projektu=jednostkę brudnopisu projektu,|jednostka użytkownika=jednostkę użytkownika,|strona brudnopisu opisu modułu=stronę brudnopisu opisu modułu,|strona brudnopisu opisu szablonu=stronę brudnopisu opisu szablonu,|strona opisu modułu=stronę opisu modułu,|strona opisu szablonu=stronę opisu szablonu,|strona kategorii=stronę kategorii,|strona pomocy=stronę pomocy,|strona projektu=stronę projektu,}} w kategorii tutaj, ukrytej dla zwykłego użytkownika. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Dopracować|Oto jest powód|typ jednostki={{{klucz|artykuł}}}}}}} == Ilustracja wywołania szablonu {{s|Dopracować2}} == A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', {{#switch:{{{klucz|artykuł}}}|artykuł=artykułu|podręcznik=podręcznika|artykuł dla dzieci=artykułu dzieci|podręcznik dla dzieci=podręcznika dla dzieci|jednostka brudnopisu projektu=jednostki brudnopisu projektu|jednostka użytkownika=jednostki użytkownika|strona brudnopisu opisu modułu=strony brudnopisu opisu modułu|strona brudnopisu opisu szablonu=strony brudnopisu opisu szablonu|strona opisu modułu=strony opisu modułu|strona opisu szablonu=strony opisu szablonu|strona kategorii=strony kategorii|strona pomocy=strony pomocy|strona projektu=strony projektu}}: * {{s|1=Dopracować2|2=Oto jest powód}} ** On przyjmuje pierwszy parametr, nienazwany lub nazwany, jako '''1''' określający powód, co w tekście musi być dopracowane. ** Szablon umieszcza {{#switch:{{{klucz|artykuł}}}|artykuł=artykuł|podręcznik=podręcznik|artykuł dla dzieci=artykuł dla dzieci,|podręcznik dla dzieci=podręcznik dla dzieci,|jednostka brudnopisu projektu=jednostkę brudnopisu projektu,|jednostka użytkownika=jednostkę użytkownika,|strona brudnopisu opisu modułu=stronę brudnopisu opisu modułu,|strona brudnopisu opisu szablonu=stronę brudnopisu opisu szablonu,|strona opisu modułu=stronę opisu modułu,|strona opisu szablonu=stronę opisu szablonu,|strona kategorii=strony kategorii,|strona pomocy=stronę pomocy,|strona projektu=stronę projektu,}} w kategorii tutaj, ukrytej dla zwykłego użytkownika. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki={{{klucz|artykuł}}}}}}} }} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} p63jr76xd31qh9p6acmpid48p09qwxz 552466 552459 2026-08-19T15:38:33Z Persino 2851 552466 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Śródtekst|uchwyt=dopracować|klucz=artykuł|bez preprocess=tak|tekst= Pojedyncze {{#switch:{{{klucz|artykuł|}}}|artykuł=artykuły|podręcznik=podręczniki|artykuł dla dzieci=artykuły dla dzieci,|podręcznik dla dzieci=podręczniki dla dzieci,|jednostka brudnopisu projektu=jednostki brudnopisu projektu, w nibyprzestrzeni nazw {{lr2|Brudnopis}}|jednostka użytkownika=jednostki użytkowników,|strona brudnopisu opisu modułu=strony opisu brudnopisu modułów (dokumentacje brudnopisu modułów), w nibyprzestrzeni nazw {{ld2|Brudnopis}}|strona brudnopisu opisu szablonu=strony opisu brudnopisu szablonów (dokumentacje brudnopisu szablonów), w nibyprzestrzeni nazw {{ls2|Brudnopis}}|strona opisu modułu=strony opisu modułów (dokumentacje modułów),|strona opisu szablonu=strony opisu szablonów (dokumentacje szablonów),|strona kategorii=strony kategorii,|strona pomocy=strony pomocy|strona projektu=strony projektu}} w przestrzeni nazw {{Np|{{#switch:{{{klucz|artykuł|}}}|artykuł|podręcznik=(main)|artykuł dla dzieci|podręcznik dla dzieci=Wikijunior|jednostka brudnopisu projektu=Project|jednostka użytkownika=User|strona brudnopisu opisu modułu=Module|strona brudnopisu opisu szablonu=Template|strona opisu modułu=Module|strona opisu szablonu=Template|strona kategorii=Category|strona pomocy=Help|strona projektu=Project}}|link=tak}}, umieszczamy tu, wstawiając do ich wikikodu szablon {{s|Dopracować}} lub {{s|Dopracować2}}. Wymagają one dopracowania takiego opisanego w pierwszym parametrze tego szablonu. W przypadku bez wskazania problemu jaki na stronie z tekstem panuje lepiej użyć szablonu {{s|Dopracować2}} niż {{s|Dopracować}}, w przypadku przeciwnym jest {{s|Dopracować}} (wtedy ten szablon nie umieszcza strony w kategoriach ogólnych - bez wskazania problemu, tylko szczególnych - ze wskazaniem problemu). {{#switch:{{{klucz|artykuł}}}|jednostka brudnopisu projektu=W tej przestrzeni nazw zaznaczamy tylko jednostki, będące artykułami (same strony) i podręcznikami (tylko ich strony główne), za pomocą tego szablonu, tak będziemy mówili, oznaczając tak strony brudnopisu projektu.|jednostka użytkownika=W tej przestrzeni nazw zaznaczamy tylko jednostki, będące artykułami (same strony) i podręcznikami (tylko ich strony główne), za pomocą tego szablonu, tak będziemy mówili, oznaczając tak strony użytkowników.}} == Ilustracja wywołania szablonu {{s|Dopracować}} == A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', {{#switch:{{{klucz|artykuł}}}|artykuł=artykułu|podręcznik=podręcznika|artykuł dla dzieci=artykułu dla dzieci|podręcznik dla dzieci=podręcznika dla dzieci|jednostka brudnopisu projektu=jednostki brudnopisu projektu|jednostka użytkownika=jednostki użytkownika|strona brudnopisu opisu modułu=strony brudnopisu opisu modułu|strona brudnopisu opisu szablonu=strony brudnopisu opisu szablonu|strona opisu modułu=strony opisu modułu|strona opisu szablonu=strony opisu szablonu|strona kategorii=strony kategorii|strona pomocy=strony pomocy|strona projektu=strony projektu}}: * {{s|1=Dopracować|2=Oto jest powód}} ** On przyjmuje pierwszy parametr, nienazwany lub nazwany, jako '''1''' określający powód, co w tekście musi być dopracowane. ** Szablon umieszcza {{#switch:{{{klucz|artykuł}}}|artykuł=artykuł|podręcznik=podrecznik|artykuł dla dzieci=artykuł dla dzieci,|podręcznik dla dzieci=podręcznik dla dzieci,|jednostka brudnopisu projektu=jednostkę brudnopisu projektu,|jednostka użytkownika=jednostkę użytkownika,|strona brudnopisu opisu modułu=stronę brudnopisu opisu modułu,|strona brudnopisu opisu szablonu=stronę brudnopisu opisu szablonu,|strona opisu modułu=stronę opisu modułu,|strona opisu szablonu=stronę opisu szablonu,|strona kategorii=stronę kategorii,|strona pomocy=stronę pomocy,|strona projektu=stronę projektu,}} w kategorii tutaj, ukrytej dla zwykłego użytkownika. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Dopracować|Oto jest powód|typ jednostki={{{klucz|artykuł}}}}}}} == Ilustracja wywołania szablonu {{s|Dopracować2}} == A oto przykład ilustrujący zasadę umieszczania '''w tej kategorii''', {{#switch:{{{klucz|artykuł}}}|artykuł=artykułu|podręcznik=podręcznika|artykuł dla dzieci=artykułu dzieci|podręcznik dla dzieci=podręcznika dla dzieci|jednostka brudnopisu projektu=jednostki brudnopisu projektu|jednostka użytkownika=jednostki użytkownika|strona brudnopisu opisu modułu=strony brudnopisu opisu modułu|strona brudnopisu opisu szablonu=strony brudnopisu opisu szablonu|strona opisu modułu=strony opisu modułu|strona opisu szablonu=strony opisu szablonu|strona kategorii=strony kategorii|strona pomocy=strony pomocy|strona projektu=strony projektu}}: * {{s|1=Dopracować2|2=Oto jest powód}} ** On przyjmuje pierwszy parametr, nienazwany lub nazwany, jako '''1''' określający powód, co w tekście musi być dopracowane. ** Szablon umieszcza {{#switch:{{{klucz|artykuł}}}|artykuł=artykuł|podręcznik=podręcznik|artykuł dla dzieci=artykuł dla dzieci,|podręcznik dla dzieci=podręcznik dla dzieci,|jednostka brudnopisu projektu=jednostkę brudnopisu projektu,|jednostka użytkownika=jednostkę użytkownika,|strona brudnopisu opisu modułu=stronę brudnopisu opisu modułu,|strona brudnopisu opisu szablonu=stronę brudnopisu opisu szablonu,|strona opisu modułu=stronę opisu modułu,|strona opisu szablonu=stronę opisu szablonu,|strona kategorii=stronę kategorii,|strona pomocy=stronę pomocy,|strona projektu=stronę projektu,}} w kategorii tutaj, ukrytej dla zwykłego użytkownika. * A po '''wywołaniu''' tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki={{{klucz|artykuł}}}}}}} }} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} 6oimj68aqz1mje8sz06b3xgz3it7ocy Kategoria:Strony kategorii, do zintegrowania 14 41276 552491 546176 2026-08-19T16:05:26Z Persino 2851 552491 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona kategorii|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} j76c5fwhjpguumcv2h5oux28phec8re Kategoria:Strony modułów, do zintegrowania 14 41279 552492 546178 2026-08-19T16:06:10Z Persino 2851 552492 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona modułu|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} ntoia2f8e6axhdjpvuqibxhsm3a2knc Kategoria:Strony kategorii, do podzielenia 14 41285 552479 546387 2026-08-19T15:57:32Z Persino 2851 552479 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona kategorii|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} 0jnk02vg1eqhfu2lu1r9yj3as4lz8oh Kategoria:Strony szablonów, do podzielenia 14 41286 552483 546388 2026-08-19T15:59:31Z Persino 2851 552483 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona szablonu|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} 45mcc8ud1jh8evhzj7fw8fhlm7h1xiu Kategoria:Strony modułów, do podzielenia 14 41287 552480 546389 2026-08-19T15:57:59Z Persino 2851 552480 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona modułu|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} h14yr0axi6uw6sm2elnm5bmgc6tbt2e Kategoria:Podręczniki wymagające dopracowania 14 41737 552463 450997 2026-08-19T15:33:33Z Persino 2851 552463 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=podręcznik|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} nvzoly13s2o0otts15v3qfzyq73dtct Kategoria:Strony kategorii wymagające dopracowania 14 41738 552467 451000 2026-08-19T15:38:50Z Persino 2851 552467 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=strona kategorii|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} tslyoy05wm7mjk7pmwxzcjwofpush1b Kategoria:Strony projektu wymagające dopracowania 14 41739 552471 451004 2026-08-19T15:43:33Z Persino 2851 552471 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=strona projektu|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} rtktxh8bvt5l2g5fqs6ahinipn8m17h Kategoria:Strony pomocy wymagające dopracowania 14 41740 552470 451003 2026-08-19T15:42:44Z Persino 2851 552470 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=strona pomocy|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} 5l28qx3jlaecg2kpzqvu7p4u5mo1gbq Kategoria:Strony opisu modułów wymagające dopracowania 14 41741 552468 451001 2026-08-19T15:40:24Z Persino 2851 552468 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=strona opisu modułu|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} 406dc3dmwszwteklds0yni9uku4vd1q Kategoria:Strony opisu szablonów wymagające dopracowania 14 41742 552469 451002 2026-08-19T15:41:13Z Persino 2851 552469 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=strona opisu szablonu|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} gnhaf6t1fmptcl740fwzsnzzvdzjwdq Kategoria:Jednostki użytkowników wymagające dopracowania 14 41743 552461 450995 2026-08-19T15:31:11Z Persino 2851 552461 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=jednostka użytkownika|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} oh5atyn3taq28ya80ma9dan3mg4ryjf Kategoria:Podręczniki podejrzane o naruszenie praw autorskich 14 41823 552500 546438 2026-08-19T16:13:35Z Persino 2851 552500 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|2|3}} {{PobierzŚródtekst|klucz=podręcznik|uchwyt=NPA|nazwa artykułu=|nazwa książki=Artykuły podejrzane o naruszenie praw autorskich}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki podejrzane o naruszenie praw autorskich}} i0nd48q10z5db2ppoxixkid3eo9ohlf Kategoria:Strony projektu, do zintegrowania 14 42149 552494 546181 2026-08-19T16:07:11Z Persino 2851 552494 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona projektu|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} kyl4ghka92shyg0v7yozfkhl93lkkdz Kategoria:Strony pomocy, do zintegrowania 14 42150 552493 546182 2026-08-19T16:06:40Z Persino 2851 552493 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona pomocy|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} f3blelg2d10gfk0q5bgis0vet9lbedk Kategoria:Jednostki użytkowników, do zintegrowania 14 42151 552486 546174 2026-08-19T16:02:15Z Persino 2851 552486 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=jednostka użytkownika|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} apv2eb7j5iu212f2us5bdc73f36h0tk Kategoria:Strony projektu, do podzielenia 14 42152 552482 546392 2026-08-19T15:58:51Z Persino 2851 552482 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona projektu|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} fpgqfguv98qtejvmirbgnc3ky1iyw54 Kategoria:Strony pomocy, do podzielenia 14 42153 552481 546393 2026-08-19T15:58:25Z Persino 2851 552481 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona pomocy|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} oc469sleaxi2zf8ned6dd88jbk72kn9 Kategoria:Jednostki użytkowników, do podzielenia 14 42154 552474 546385 2026-08-19T15:53:55Z Persino 2851 552474 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=jednostka użytkownika|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} cune4eke8djnut3atikvg389o26k0h4 Kategoria:Podręczniki do zintegrowania 14 42155 552488 546170 2026-08-19T16:03:33Z Persino 2851 552488 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=podręcznik|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} ryijd127czs8xiejlerbnr80pfqax40 Kategoria:Podręczniki do podzielenia 14 42316 552476 546382 2026-08-19T15:55:04Z Persino 2851 552476 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=podręcznik|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} f0mboujl8hmggo2r3zysv2akxq1cl15 Kategoria:Artykuły dla dzieci wymagające dopracowania 14 45195 552451 450992 2026-08-19T15:18:48Z Persino 2851 552451 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=artykuł dla dzieci|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} 5fyaskvsfnokaqin0maadjixvmutfk8 Kategoria:Podręczniki dla dzieci wymagające dopracowania 14 45196 552462 450996 2026-08-19T15:32:16Z Persino 2851 552462 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=podręcznik dla dzieci|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} m7s1q26kwlyud5kbbl8x2pqkzc18l5u Kategoria:Artykuły dla dzieci podejrzane o naruszenie praw autorskich 14 45206 552496 546439 2026-08-19T16:11:11Z Persino 2851 552496 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|2|3}} {{PobierzŚródtekst|klucz=artykuł dla dzieci|uchwyt=NPA|nazwa artykułu=|nazwa książki=Artykuły podejrzane o naruszenie praw autorskich}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki podejrzane o naruszenie praw autorskich}} l3qqe8dx4krd6l7q3z1q3a0cvg72ql0 Kategoria:Podręczniki dla dzieci podejrzane o naruszenie praw autorskich 14 45207 552499 546440 2026-08-19T16:13:02Z Persino 2851 552499 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|2|3}} {{PobierzŚródtekst|klucz=podręcznik dla dzieci|uchwyt=NPA|nazwa artykułu=|nazwa książki=Artykuły podejrzane o naruszenie praw autorskich}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki podejrzane o naruszenie praw autorskich}} q4sw4w7osp9qc86ik8xybhx7y992541 Kategoria:Jednostki użytkowników podejrzane o naruszenie praw autorskich 14 45218 552498 546441 2026-08-19T16:12:37Z Persino 2851 552498 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|2|3}} {{PobierzŚródtekst|klucz=jednostka użytkownika|uchwyt=NPA|nazwa artykułu=|nazwa książki=Artykuły podejrzane o naruszenie praw autorskich}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki podejrzane o naruszenie praw autorskich}} t47tpgxddiqw6p1xs58lgpi3hmea8eq Kategoria:Artykuły dla dzieci, do podzielenia 14 46070 552472 546383 2026-08-19T15:52:53Z Persino 2851 552472 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=artykuł dla dzieci|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} lt0ufkug8fdeo3gdknjgodyhukprnu2 Kategoria:Podręczniki dla dzieci, do podzielenia 14 46071 552475 546384 2026-08-19T15:54:30Z Persino 2851 552475 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=podręcznik dla dzieci|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} cg6yzwgg1kg8ow0bmyn1rmyv8piynck Kategoria:Artykuły dla dzieci, do zintegrowania 14 46073 552484 546171 2026-08-19T16:00:38Z Persino 2851 552484 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=artykuł dla dzieci|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} q5axh0huyjbw6473o83enwo0wvtky0d Kategoria:Podręczniki dla dzieci, do zintegrowania 14 46074 552487 546172 2026-08-19T16:02:53Z Persino 2851 552487 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=podręcznik dla dzieci|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} 0e4gftkmow4t2p7dtndut6rqdlde6cl Kategoria:Jednostki brudnopisu projektu podejrzane o naruszenie praw autorskich 14 50742 552497 546442 2026-08-19T16:11:51Z Persino 2851 552497 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|2|3}} {{PobierzŚródtekst|klucz=jednostka brudnopisu projektu|uchwyt=NPA|nazwa artykułu=|nazwa książki=Artykuły podejrzane o naruszenie praw autorskich}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki podejrzane o naruszenie praw autorskich}} 9mdknrwoqy3yydl6p4on8rarya45jt4 Kategoria:Jednostki brudnopisu projektu wymagające dopracowania 14 50841 552460 516826 2026-08-19T15:29:22Z Persino 2851 552460 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=jednostka brudnopisu projektu|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} abvvhknruexllltodc49pfjwoo2v7ia Kategoria:Strony brudnopisu opisu szablonów wymagające dopracowania 14 50842 552465 516827 2026-08-19T15:37:01Z Persino 2851 552465 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=strona brudnopisu opisu szablonu|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} n61xmjvpbokehscp55ms4jrjmx6yz78 Kategoria:Strony brudnopisu opisu modułów wymagające dopracowania 14 50843 552464 516828 2026-08-19T15:35:04Z Persino 2851 552464 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{PobierzŚródtekst|uchwyt=dopracować|klucz=strona brudnopisu opisu modułu|nazwa artykułu=|nazwa książki=Artykuły wymagające dopracowania}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> __HIDDENCAT__ {{Kategoria|Jednostki wymagające dopracowania}} p9wug2dxuebdn8xekctzrrjzhsm5cod Kategoria:Jednostki brudnopisu projektu, do zintegrowania 14 51540 552485 546175 2026-08-19T16:01:37Z Persino 2851 552485 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=jednostka brudnopisu projektu|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} fxrzlqterxht59s7oy3cnsdtzhul9hw Kategoria:Strony brudnopisu szablonów, do zintegrowania 14 51541 552490 546179 2026-08-19T16:04:43Z Persino 2851 552490 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona brudnopisu szablonu|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} 888vtkdwak8zeio2yzyirlrhr3e370f Kategoria:Strony brudnopisu modułów, do zintegrowania 14 51542 552489 546180 2026-08-19T16:04:05Z Persino 2851 552489 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|1}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona brudnopisu modułu|uchwyt=integracja|nazwa artykułu=|nazwa książki=Artykuły do zintegrowania}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do zintegrowania}} ovoene6bnvtfx2e45q2alezhelerioj Kategoria:Jednostki brudnopisu projektu, do podzielenia 14 51543 552473 546386 2026-08-19T15:53:26Z Persino 2851 552473 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=jednostka brudnopisu projektu|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} 8er0gi5hnjdq5ng57iz57h13qen22ca Kategoria:Strony brudnopisu szablonów, do podzielenia 14 51544 552478 546390 2026-08-19T15:56:40Z Persino 2851 552478 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona brudnopisu szablonu|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} buuznly73mrjt9tb0c4rcog4hm21h2b Kategoria:Strony brudnopisu modułów, do podzielenia 14 51545 552477 546391 2026-08-19T15:56:05Z Persino 2851 552477 wikitext text/x-wiki <noinclude>{{StandardowaStronaStart}}</noinclude> {{Szablon nawigacyjny konserwacyjny|4|2}} {{Spis treści|limit=2}} {{PobierzŚródtekst|klucz=strona brudnopisu modułu|uchwyt=podzielenie|nazwa artykułu=|nazwa książki=Artykuły do podzielenia}} {{DivClear}} <noinclude>{{StandardowaStronaKoniec}}</noinclude> {{Kategoria|Jednostki do podzielenia}} i5zg405cr6bxbbkez1zn7kt5xyu6sqi Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom V 4 63920 552503 551582 2026-08-20T05:43:30Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552503 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 9i1mzr8pvlgcfyqv4kmizwthz4moeco 552504 552503 2026-08-20T05:48:49Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552504 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania sekcji, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie dak to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne okreslone zmienne, jeśli ona przy tym została odpowiednio ustawiona. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 564o95v5ehui2lgo32a5kmoy2ax7rji 552505 552504 2026-08-20T05:49:47Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552505 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania sekcji, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie dak to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne okreslone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnieona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 5hjzxf9pbihdkpqprhr6cau2kggh10p 552506 552505 2026-08-20T05:55:23Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552506 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu,i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> cpyua95akrfp9ib5kzk997h2fcodt4w 552507 552506 2026-08-20T06:02:48Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552507 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu,i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} * {{Code|czy_zeruj}} * {{Code|tab_zmienne}} * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} * {{Code|nazwa_spisu_tresci}} * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} * {{Code|tablica_analizy_obiektow_strony_dany_modul}} * {{Code|tablica_danych_parametrow_szablonu_strony}} * {{Code|tab_nazwa_spisow_przekierowaniowych}} Parametry funkcji zwracanej: * {{Code|liczba_koniec_naglowek}} * {{Code|liczba_obiekt_start_nowe}} == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 03w4lruhc48mn6helgdzoqhlgunj012 552508 552507 2026-08-20T06:05:34Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552508 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} * {{Code|czy_zeruj}} * {{Code|tab_zmienne}} * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} * {{Code|nazwa_spisu_tresci}} * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} * {{Code|tablica_analizy_obiektow_strony_dany_modul}} * {{Code|tablica_danych_parametrow_szablonu_strony}} * {{Code|tab_nazwa_spisow_przekierowaniowych}} Parametry funkcji zwracanej: * {{Code|liczba_koniec_naglowek}} * {{Code|liczba_obiekt_start_nowe}} == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 5aheitsd9dcq53kdwcop6gm9sgmujn4 552509 552508 2026-08-20T06:19:01Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552509 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zwerować, ścisle określone zmienne, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} -jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> kjdc86dr1g1zf6lmafc8t8kir3fotp6 552510 552509 2026-08-20T06:20:16Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552510 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą sięw tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} -jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> sp3rhfs9kf7qqishv307oxm83p8w8ki 552511 552510 2026-08-20T06:20:49Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552511 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą sięw tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> eeqwes38bl4nuprsud4grqxa2oac9dm 552512 552511 2026-08-20T06:26:26Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552512 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezzerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> su4vx5dpkhxokt31xtofubn15fxalw2 552513 552512 2026-08-20T06:26:43Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552513 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 4qx8fgujxj8xu9hlsic24w3j67knj45 552514 552513 2026-08-20T06:40:12Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552514 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> A jeżeli jest jednak, to znajduje taki tekst. Następnie sprawdza, czy ona jest w cudzysłowach, lub czy początek zaczyna się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}}, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> a17th49hors6rwjwmgofhy8iwuiw3uz 552515 552514 2026-08-20T06:44:19Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552515 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> : A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}. * Następnie sprawdza, czy ona jest w cudzysłowach, lub czy początek zaczyna się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}}, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. Ajeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynnośco dalej. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> k0yvbuytqaguw85ckgt15trsk9vjuvg 552516 552515 2026-08-20T06:44:53Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552516 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> {{Tab}}A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}. Następnie sprawdza, czy ona jest w cudzysłowach, lub czy początek zaczyna się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}}, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. Ajeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynnośco dalej. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ewh54j005och3ot862z11gkf3gbnwmv 552517 552516 2026-08-20T06:45:36Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552517 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> {{Tab}}A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. Następnie sprawdza, czy ona jest w cudzysłowach, lub czy początek zaczyna się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}}, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. Ajeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynnośco dalej. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> eexik1p96sq0j0mnfyh0omsihpw7xre 552518 552517 2026-08-20T06:46:08Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552518 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> {{Tab}}A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. Następnie sprawdza, czy ona jest w cudzysłowach, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}}, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. Ajeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynnośco dalej. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> hlaxoip4e82edligt0z6byu61bbs6ql 552519 552518 2026-08-20T06:48:01Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552519 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> {{Tab}}A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. Następnie sprawdza, czy ona jest w cudzysłowach, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}}, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności dalej. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> amnwmei1xgkldzht6efkxcl7qwmfzg1 552520 552519 2026-08-20T06:49:34Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552520 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> {{Tab}}A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}}, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności dalej. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> fuzjcydzmirgq7ap27moyhcxbrp0fp7 552521 552520 2026-08-20T06:50:53Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552521 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> {{Tab}}A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}}, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następme, aby sprawdzić dalsze waarunki, czy wszystko jest w porządku. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> rejxhjje61nuoz4vrqqiuzbhqpjbw8p 552522 552521 2026-08-20T06:51:18Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552522 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> {{Tab}}A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}}, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następme, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 2mkb112ka67mqlb3x91cq0xvfi7pfny 552523 552522 2026-08-20T06:51:38Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552523 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> {{Tab}}A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}}, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> lw6eozevqsv0gv81bv87m0wnf2iw8y9 552524 552523 2026-08-20T06:53:45Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552524 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> {{Tab}}A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> h27w7az7umjb8o5ajrjyxh1s6vy4qpl 552525 552524 2026-08-20T07:01:26Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552525 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> jbv2wlm6ihgvjjnwzf2y8kzeg5261df 552526 552525 2026-08-20T07:23:56Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552526 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> rj1lj855kxap1v2rcljsfvfzrbhsnq8 552527 552526 2026-08-20T07:37:55Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552527 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tamk to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. zmiennej: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bz7puc8tefghapnbunt17a2g3gtzlmf 552528 552527 2026-08-20T07:38:40Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552528 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tamk to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 3c4nnpin12129fjio3reamtsry4tggj 552529 552528 2026-08-20T07:40:10Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552529 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 6z2i4ijm39fampy10f32moymopi8dc8 552530 552529 2026-08-20T07:58:29Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552530 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> m12onbrckqy3p71mumu4jh3eg5l03d3 552531 552530 2026-08-20T08:01:45Z Persino 2851 /* {{Śródtytuł|p.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} */ 552531 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> h4h91e7m40dlr1rgoium1pqcbu7dc3w 552532 552531 2026-08-20T08:18:26Z Persino 2851 552532 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja zwracane przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 8kalxxbn7o1wllcvg380kpovvb6bjhj 552533 552532 2026-08-20T08:19:38Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552533 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja zwracane przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> rec80aw30qvjcchd990zj1ao6pvcxxe 552534 552533 2026-08-20T08:29:56Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552534 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> eg2l584rstv19dq85jwqjuhxcbg7073 552535 552534 2026-08-20T08:35:46Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552535 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> no45b0u5j3t5llw8kq3ic33m4z6kzjj 552536 552535 2026-08-20T08:46:10Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552536 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru {{nobold|czy_dodatni}} {{Code|{{=}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> futev5g3dyd302peuer3tkz5oqdtiaq 552537 552536 2026-08-20T08:46:35Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552537 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni}} {{Code|{{=}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> fwqv8yzgdvhx4rib1e4vajj4sdatsby 552538 552537 2026-08-20T08:49:19Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552538 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni}} {{Code|{{=}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}. Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomoct funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> m62j3ci43nh64ziz48peugkz0v8x71n 552539 552538 2026-08-20T08:50:09Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552539 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni}} {{Code|{{=}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}. Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomoct funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> dzpsyya4o0qliffemznydn8us7bylkn 552540 552539 2026-08-20T08:50:43Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552540 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni}} {{Code|{{=}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}. Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 5z3i4zgd4r26cc6lceao8y5g72g20mu 552541 552540 2026-08-20T08:52:00Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552541 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni}} {{Code|{{=}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> mv17xj6utf943oip3h0xosvlqc5jbp8 552542 552541 2026-08-20T08:54:05Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552542 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni}} {{Nobold|{{Code|{{=}}}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bhjfybmqszhz1tp3b0b4q7y29ldxcgm 552543 552542 2026-08-20T08:55:15Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552543 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> ohnd0b9fz0xc2ds5z0lsv2yisdjwaxt 552544 552543 2026-08-20T08:56:33Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552544 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}}}} {{ZobaczTeż|czy_dodatni}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 3485abo1l5hdkubmcx013xlz3up3l7d 552545 552544 2026-08-20T08:56:56Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552545 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> fxg4b5sypvmvcbv6cmxbiuctv4rn6m3 552546 552545 2026-08-20T09:31:52Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552546 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: koeńcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ścieśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią: * {{Code|liczba_start_naglowek}} -, * {{Code|liczba_koniec_naglowek_poczt}} -, * {{Code|naglowek}} -, * {{Code|poziom_naglowka}} -, * {{Code|liczba_start_naglowek_dalej}} -, * {{Code|liczba_koniec_naglowek_dalej}} -, * {{Code|naglowek_dalej}} -, * {{Code|poziom_naglowek_dalej}} -. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 13yvf98rxoyjyt90o5hmch1kus6uaea 552547 552546 2026-08-20T09:36:09Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552547 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: koeńcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ścieśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie pasujące{{dk}} * {{Code|liczba_start_naglowek}} -, * {{Code|liczba_koniec_naglowek_poczt}} -, * {{Code|naglowek}} -, * {{Code|poziom_naglowka}} -, ; Niepasujących, wyszukane pierwsze z kolei po pasującym{{dk}} * {{Code|liczba_start_naglowek_dalej}} -, * {{Code|liczba_koniec_naglowek_dalej}} -, * {{Code|naglowek_dalej}} -, * {{Code|poziom_naglowek_dalej}} -. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> akgq6p0l8ekni68m38w8p1khaw6ge1d 552548 552547 2026-08-20T09:47:25Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552548 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: koeńcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ścieśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym, według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekstbrozdziału nie jest równa znakom odstępuinie jest pusty{{dk}} * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> c3roqt75s8dmw6rmcjv2uc3i4w5a5zg 552549 552548 2026-08-20T09:49:02Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552549 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: koeńcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ścieśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> sey0dqrmh9f301qng7v7qjtngztxpat 552550 552549 2026-08-20T09:54:26Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552550 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bezblx4vv9245bqzrk4vb2wz2umq3d6 552551 552550 2026-08-20T10:00:37Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552551 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bjjqxeer6rxmt4bsyt1tbirvev5ki41 552552 552551 2026-08-20T10:25:44Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552552 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{Patrz|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> krzjwca3nxgg227slpysnrjx2xvh9mq 552553 552552 2026-08-20T10:33:58Z Persino 2851 /* {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} */ 552553 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 5v4w3lx0pwrgj43s6qp8zkc4mrqu2je 552554 552553 2026-08-20T10:36:16Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552554 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> nbugffkast206hf9s5r6x41zj3wfsnh 552555 552554 2026-08-20T10:40:31Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552555 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> r2prffogk6811a4e9e6gas271lzdv9a 552556 552555 2026-08-20T10:44:32Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552556 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: * {{Code|liczba_start_naglowek}} - początek ostatniego dopasowania nagłówka, * {{Code|liczba_koniec_naglowek}} - koniec ostatniego dopasowania tego nagłówka * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 2zjgagickudxd8lmdftr803pr0nyd14 552557 552556 2026-08-20T10:46:54Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552557 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 0bw9ulawp987j2fkeg3zza44u1t4vd1 552558 552557 2026-08-20T10:51:28Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552558 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> t7nvc4zeumzpsm41qn682dammdh5drl 552559 552558 2026-08-20T10:53:19Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552559 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji ich nie szuka jednego rodzaju tylko, lecz wielu. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 9qv7r1530ri2a7tpoe09xsh4lqri0lt 552560 552559 2026-08-20T11:18:38Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552560 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji ich nie szuka jednego rodzaju tylko, lecz wielu. ; Etapy dopasowania ostatniego dopasowania rozdziałów, jego pozycja w tekście i jegonapis wprowadzenia tekstu * Pierwszy etap Funkcja najpierw wysszukuje rozzdziały poprzez wskazanie przez funkcję: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, a jeżeli znalazł artykuł, o niepustych secjach pomiędzy ostatnim wskazanym artykułen, a rozdziałem, wtedy ta funkcja zwraca wartość logiczną fałszywą i zwraca wartość nilową, czyli nic nie zwraca, i funkcja się zakańcza, i wskazuje, że nie znalazł takiego nagłówka, to się dziaje pod warunkiem, że funkcja: {{LinkPatrz|AnalizowanieSekcjowe}}, została podana, w przeciwnym wypadku, to już tak się nie dzieje, a nagłówek z tego wywołania mógł być znaleziony, ale nie musiał. * Drugi etap * Trzeci etap * Czwarty etap Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> onzrpjaysmgwnxdg31ctijespoyiowf 552561 552560 2026-08-20T11:19:36Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552561 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji ich nie szuka jednego rodzaju tylko, lecz wielu. ; Etapy dopasowania ostatniego dopasowania rozdziałów, jego pozycja w tekście i jegonapis wprowadzenia tekstu * Pierwszy etap Funkcja najpierw wyszukuje rozdziały poprzez wskazanie przez funkcję: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, a jeżeli znalazł artykuł, o niepustych secjach pomiędzy ostatnim wskazanym artykułen, a rozdziałem, wtedy ta funkcja zwraca wartość logiczną fałszywą i zwraca wartość nilową, czyli nic nie zwraca, i funkcja się zakańcza, i wskazuje, że nie znalazł takiego nagłówka, to się dziaje pod warunkiem, że funkcja: {{LinkPatrz|AnalizowanieSekcjowe}}, została podana, w przeciwnym wypadku, to już tak się nie dzieje, a nagłówek z tego wywołania mógł być znaleziony, ale nie musiał. * Drugi etap * Trzeci etap * Czwarty etap Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bmn9eh4xq9j1jbyevggnwsg4g8djbqp 552562 552561 2026-08-20T11:26:21Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552562 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji ich nie szuka jednego rodzaju tylko, lecz wielu. ; Etapy dopasowania ostatniego dopasowania rozdziałów, jego pozycja w tekście i jegonapis wprowadzenia tekstu * Pierwszy etap Funkcja najpierw wyszukuje rozdziały poprzez wskazanie przez funkcję: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, a jeżeli znalazł artykuł, o niepustych secjach pomiędzy ostatnim wskazanym artykułen, a rozdziałem, wtedy ta funkcja zwraca wartość logiczną fałszywą i zwraca wartość nilową, czyli nic nie zwraca, i funkcja się zakańcza, i wskazuje, że nie znalazł takiego nagłówka, to się dziaje pod warunkiem, że funkcja: {{LinkPatrz|AnalizowanieSekcjowe}}, została podana, w przeciwnym wypadku, to już tak się nie dzieje, a nagłówek z tego wywołania mógł być znaleziony, ale nie musiał. * Drugi etap alternatywy ** To dotyczy, że znalazł ostatnie dopasowanie, ale niepasującego nagłówka przed nim nie ma. * Trzeci etap alternatywy ** To dotyczy, nże takiego dopasowania psującego nie znalazł. * Czwarty etap alternatywy ** To dotyczy pozostałych przypadków,nie pasujących do dwóch poprzednich etapów. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> airm0t93xaogv41h425jslcvuknnjls 552563 552562 2026-08-20T11:26:46Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552563 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji ich nie szuka jednego rodzaju tylko, lecz wielu. ; Etapy dopasowania ostatniego dopasowania rozdziałów, jego pozycja w tekście i jegonapis wprowadzenia tekstu * Pierwszy etap Funkcja najpierw wyszukuje rozdziały poprzez wskazanie przez funkcję: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, a jeżeli znalazł artykuł, o niepustych secjach pomiędzy ostatnim wskazanym artykułen, a rozdziałem, wtedy ta funkcja zwraca wartość logiczną fałszywą i zwraca wartość nilową, czyli nic nie zwraca, i funkcja się zakańcza, i wskazuje, że nie znalazł takiego nagłówka, to się dziaje pod warunkiem, że funkcja: {{LinkPatrz|AnalizowanieSekcjowe}}, została podana, w przeciwnym wypadku, to już tak się nie dzieje, a nagłówek z tego wywołania mógł być znaleziony, ale nie musiał. * Drugi etap alternatywy ** To dotyczy, że znalazł ostatnie dopasowanie, ale niepasującego nagłówka przed nim nie ma. * Trzeci etap alternatywy ** To dotyczy, nże takiego dopasowania psującego nie znalazł. * Czwarty etap alternatywy ** To dotyczy pozostałych przypadków, nie pasujących do dwóch poprzednich etapów. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> pslhat3bcod3ga1dvl97t6p22k878zt 552564 552563 2026-08-20T11:28:40Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552564 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji ich nie szuka jednego rodzaju tylko, lecz wielu. ; Etapy dopasowania ostatniego dopasowania rozdziałów, jego pozycja w tekście i jegonapis wprowadzenia tekstu * Pierwszy etap Funkcja najpierw wyszukuje rozdziały poprzez wskazanie przez funkcję: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, a jeżeli znalazł artykuł, o niepustych secjach pomiędzy ostatnim wskazanym artykułen, a rozdziałem, wtedy ta funkcja zwraca wartość logiczną fałszywą i zwraca wartość nilową, czyli nic nie zwraca, i funkcja się zakańcza, i wskazuje, że nie znalazł takiego nagłówka, to się dziaje pod warunkiem, że funkcja: {{LinkPatrz|AnalizowanieSekcjowe}}, została podana, w przeciwnym wypadku, to już tak się nie dzieje, a nagłówek z tego wywołania mógł być znaleziony, ale nie musiał. * Drugi etap alternatywy ** To dotyczy, że znalazł ostatnie dopasowanie, ale niepasującego nagłówka przed nim nie ma. * Trzeci etap alternatywy ** To dotyczy, że takiego dopasowania pasującego nie znalazł. * Czwarty etap alternatywy ** To dotyczy pozostałych przypadków, w którym znalazł ostatnie dopasowanie, a niepasujące dopasowanie przed nim też znalazł. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> k4tqe7mnbud7v2ysujp14i1yhgtmq9a 552565 552564 2026-08-20T11:33:03Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552565 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji ich nie szuka jednego rodzaju tylko, lecz wielu. ; Etapy dopasowania ostatniego dopasowania rozdziałów, jego pozycja w tekście i jegonapis wprowadzenia tekstu * Pierwszy etap Funkcja najpierw wyszukuje rozdziały poprzez wskazanie przez funkcję: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, a jeżeli znalazł artykuł, o niepustych secjach pomiędzy ostatnim wskazanym artykułen, a rozdziałem, wtedy ta funkcja zwraca wartość logiczną fałszywą i zwraca wartość nilową, czyli nic nie zwraca, i funkcja się zakańcza, i wskazuje, że nie znalazł takiego nagłówka, to się dziaje pod warunkiem, że funkcja: {{LinkPatrz|AnalizowanieSekcjowe}}, została podana, w przeciwnym wypadku, to już tak się nie dzieje, a nagłówek z tego wywołania mógł być znaleziony, ale nie musiał. * Drugi etap alternatywy ** To dotyczy, że znalazł ostatnie dopasowanie, ale niepasującego nagłówka przed nim nie ma. * Trzeci etap alternatywy ** To dotyczy, że takiego dopasowania pasującego nie znalazł. * Czwarty etap alternatywy ** To dotyczy pozostałych przypadków, w którym znalazł ostatnie dopasowanie, a niepasujące przed nim też znalazł. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> k1z33o0x5f9ocpmhmn7asawjroha59q 552566 552565 2026-08-20T11:34:34Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552566 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji ich nie szuka jednego rodzaju tylko, lecz wielu. ; Etapy dopasowania ostatniego dopasowania rozdziałów, jego pozycja w tekście i jego napis wprowadzenia tekstu * Etap ogóly Funkcja najpierw wyszukuje rozdziały poprzez wskazanie przez funkcję: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, a jeżeli znalazł artykuł, o niepustych secjach pomiędzy ostatnim wskazanym artykułen, a rozdziałem, wtedy ta funkcja zwraca wartość logiczną fałszywą i zwraca wartość nilową, czyli nic nie zwraca, i funkcja się zakańcza, i wskazuje, że nie znalazł takiego nagłówka, to się dziaje pod warunkiem, że funkcja: {{LinkPatrz|AnalizowanieSekcjowe}}, została podana, w przeciwnym wypadku, to już tak się nie dzieje, a nagłówek z tego wywołania mógł być znaleziony, ale nie musiał. ; Etapy alternatywy * Pierwszy etap alternatywy ** To dotyczy, że znalazł ostatnie dopasowanie, ale niepasującego nagłówka przed nim nie ma. * Drugi etap alternatywy ** To dotyczy, że takiego dopasowania pasującego nie znalazł. * Trzeci etap alternatywy ** To dotyczy pozostałych przypadków, w którym znalazł ostatnie dopasowanie, a niepasujące przed nim też znalazł. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> oic0nn8crblo15owmn7p8eofkx3eutu 552567 552566 2026-08-20T11:34:56Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552567 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji ich nie szuka jednego rodzaju tylko, lecz wielu. ; Etapy dopasowania ostatniego dopasowania rozdziałów, jego pozycja w tekście i jego napis wprowadzenia tekstu * Etap ogólny Funkcja najpierw wyszukuje rozdziały poprzez wskazanie przez funkcję: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, a jeżeli znalazł artykuł, o niepustych secjach pomiędzy ostatnim wskazanym artykułen, a rozdziałem, wtedy ta funkcja zwraca wartość logiczną fałszywą i zwraca wartość nilową, czyli nic nie zwraca, i funkcja się zakańcza, i wskazuje, że nie znalazł takiego nagłówka, to się dziaje pod warunkiem, że funkcja: {{LinkPatrz|AnalizowanieSekcjowe}}, została podana, w przeciwnym wypadku, to już tak się nie dzieje, a nagłówek z tego wywołania mógł być znaleziony, ale nie musiał. ; Etapy alternatywy * Pierwszy etap alternatywy ** To dotyczy, że znalazł ostatnie dopasowanie, ale niepasującego nagłówka przed nim nie ma. * Drugi etap alternatywy ** To dotyczy, że takiego dopasowania pasującego nie znalazł. * Trzeci etap alternatywy ** To dotyczy pozostałych przypadków, w którym znalazł ostatnie dopasowanie, a niepasujące przed nim też znalazł. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bapewbtth34tnwj9drbzeh9pe97k9um 552568 552567 2026-08-20T11:35:52Z Persino 2851 /* {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} */ 552568 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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.AnalizowanieSekcjowe}}{{Code|p.AnalizowanieSekcjowe}} == Jest to funkcja do sprawdzania tekstu zawartości (tekstu rozdziału, bez tego napisu) napisu wprowadzenia tekstu sekcji, za pomocą funkcji zwracanej, czy ona spełnia pewne określone warunki. Funkcja, gdy co jest nie tak, to zwraca wartość {{Code|true}}, i przy okazji może zerować pewne określone zmienne, jeśli ona przy tym została odpowiednio ustawiona, przeciwnie ona zawsze zwraca wartość {{Code|nil}}, czyli nie zwraca żadnej wartości. Za pomocą tej funkcji można sprawdzić, czy funkcja zawiera niedozwolone znaki wikikodu, i dlatego zwraca tą prawdziwość. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.AnalizowanieSekcjowe(tekst_rozwiniety_calego_artykulu,czy_zeruj,tab_zmienne,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych) return function(liczba_koniec_naglowek,liczba_obiekt_start_nowe) ... ---- ciało funkcji zwracanej end; end; </syntaxhighlight> Parametry ogólne funkcji: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} - czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{LinkPatrz|tab_zmienne}}, * {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} - zmienne w nim do zerowania, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. Parametry funkcji zwracanej dla tekstu rozważanego {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}: * {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} - numer znaku, po którym coś rozważamy, * {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} - numer znaku, przed którym coś rozważamy. Funkcja zwracana sprwdza, czy zmienne: {{LinkPatrz|liczba_koniec_naglowek}} i {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, ale jeżeli te zmienne liczbowe punktów znakowych mają takie wartości, że nie da się znaleźć dla tej zmiennej tekstowej treści pomiędzy nimi, to ta funkcja nie zwraca żadnej wartości, to zachodzi, kiedy nie jest spełniony warunek: <syntaxhighlight lang="lua"> if((liczba_koniec_naglowek)and(liczba_obiekt_start_nowe)and(liczba_koniec_naglowek+1<=liczba_obiekt_start_nowe-1))then </syntaxhighlight> * Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać: A jeżeli jest jednak tak, tzn. spełniony jest jednak ten warunek, a nie nie, to znajduje taki tekst, robi to za pomocą funkcji: {{LzLua|mw.ustring.sub}}, i zapisuje to pod zmienną {{Code|str}} {{Patrz|str}}. * Pierwszy etap analizowania tej zmiennej, czy jest poprawna, tzn. czy nie zwraca żadnej wartości, ale czy się zakańcza: Następnie sprawdza, czy ona jest w cudzysłowach, tzn. czy spełnia warunek: {{Code|<nowiki>^%s*'+(.+)'+%s*$</nowiki>}}, lub czy początek zaczyna się od znaków: {{Code|<nowiki>^[%*#:;<>]+</nowiki>}}, lub czy ten tekst zawiera dozwolone znaki z przedziału: {{Code|<nowiki>^[%s%p%w]*$</nowiki>}} - tzn. czy tekst składa się ze znaków odstępu, interpunkcyjnych, znaków alfanumerycznych lub z dolnym myślników, jeżeli któreś z tych warunków jest spełnione, to funkcja nie zwraca żadnej wartości, ale zatrzymuje się, tzn. zakańcza się, to oznacza, że wszystko jest w porządku. A jeżeli nie spełnione z żadnych z tych warunków, to ona idzie dalej, i robi następne czynności następne, aby sprawdzić dalsze warunki, czy wszystko jest w porządku. * Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów: Funkcja liczy ile takich linii znalazz, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wsród takich liniiznalazł linie pasujące do: {{Code|<nowiki>^[%*#;:<>]</nowiki>}}, lub składające się znaków odstępów: {{Code|<nowiki>^%s*$</nowiki>}}, wtedy funkcja to liczy licznikiem: {{Code|ile_punktowanych}} {{Patrz|ile_punktowanych}}. Funkcja w tak wyszukanych liniach w przeciwnym razie sprawdza, czy tam są artykuły (strony) nie z przestrzeni książkowych polskiego {{NS|l=tak|pk=d|w=tak}}, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}} {{Patrz|p.CzyGeneralnieElementSpisuRzeczy}}, jeśli są takie elementy, to funkcja dodaje to do licznika {{LinkPatrz|ile_punktowanych}}. Dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykół się znajduje, nie więcej, tylko raz, a czy są dalej takie strony w linii, to nie ważne. Jeśli liczba określona przez zmienną: {{LinkPatrz|ile_punktowanych}}, jeżeli jest co najmniej równa wyszukanym liniom {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie. * Zerowanie się pewnych wartości: Funkcja z tal policzonego {{LinkPatrz|str}} usuwa formy kodów z obiektami {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, a jeżeli znalazł w nim same wtedy znaki odstępów, to ona nie zwraca żadnej wartości, ale się zakańcza, przeciwnie, sprawdzaa, jest zmienna: {{LinkPatrz|czy_zeruj}}, czy jest prawdziwa, a jeśli tak, to elementy zmiennej {{LinkPatrz|tab_zmienne}} są nilowane, tzn. podzmienne o kluczach: * {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje, * {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} - liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle okreslone kryteria określone przez funkcję: {{LinkPatrz|p.CzyGeneralnieElementSpisuRzeczy}}, * {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} - wartość prawdziwą wskazuje, jeśli chodzi o ten rozważany rozdział, a ta funkcja rewiduje, czy jest jednak tak, i przy okazji niluje też inne zmienne należące do tablicy, w której są. Ale niezależnie od wartości {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie. == {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} == Funkcja wyszukuje kolejne rozdziały (napisy wprowadzenia tekstu), którego tekst rozdziału składa się z samych znaków odstępów, lub jest pusty, albo o poziomie wyższym rozdziałowo,nawet gdy jego tekst rozdziału jednak nie jest pusty. Funkcja jest przerywana po najbliższych niespełniających warunkach. Funkcja zwraca parametry, z ostatniego pasującego dopasowana. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_spac_par,czy_dodatni,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji {{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}: * {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} - jak kolejno w: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|nazwa_spisu_tresci}} - jak w: {{LinkPatrz|nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} - {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} - {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} - {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} - {{LinkPatrz|tab_nazwa_spisow_przekierowaniowych|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, * {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, * {{Code|liczba_obiekt_start_nowe}} - jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{linkPatrz|AnalizowanieSekcjowe}}, do sprawdzania pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz z nowa linią, a tą zmienną, do sprawdzania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję, jest to pozycja taka na jaką wskazuje również opis na zmienną o kluczu {{LinkPatrz|liczba_nie_okladka_artykul}}, lub od tyłu od ostatniego wyszukanego wtedy artykułu, czyli inaczej mówiąc, jest to pozyja poczatkowa pierwszego w odpowiedni sposób wyszukanego nagłówka, * {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} - numer znaku, od którego ma wyszukiwać od tytułu pewne linie, * {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} - typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}, * {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} - czy ma wyszukiwać do: {{Code|1}}, od tytułu, a nie do: {{LinkPatrz|liczba_start_rozdzial}}, * {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} - to nic innego jest, jak funkcja inicjowana przez zwracaną procedurę przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe}}, która ma w sobie pewne elementy początkowe w sobie wsadzonych jako parametry, które są wykorzystywane prze obiekt przez nią zwracany, która coś robi. ; Typy dopasowywania rozdziałów paarametru{{dk}} {{nobold|czy_dodatni {{Code|{{=}}}} {{LinkPatrz|czy_dodatni}} {{ZobaczTeż|czy_dodatni}}}}{{dk}} * {{Code|1}} - wyszukuje rozdziały wskazywane przez funkcję: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, * {{Code|2}} - wyszukuje pozycji list zaczynające się od znaków: {{Code|<nowiki>[%*#:;<>]+</nowiki>}}, jako pewne rozdziały, które trzeba wyszukać, * Inna wartość niż dwie powyższe - wtedy są wyszukiwane rozdziały niezaczynające się od: {{Code|<nowiki>[^%*#:;<>\n]</nowiki>}}, i kończące się na dwukropek. : Dla dwóch ostatnich powyższych punktów są wyszukiwane linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. : Funkcja dla tych dwóch pierwszych sprawdza, tylko raz, czy to jest rozdział spisu treści wskazywaną przez funkcję: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja {{LinkPatrz|AnalizowanieSekcjowe}} zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy się tekst przed, która ta ostatnia wspomniana funkcja liczy. Funkcja działa w pętli do zakończenia zasobu danych lub w inny sposśób, ale też do zakończenia. Funkcja wtedy robi operacje zawsze dla {{LinkPatrz|czy_dodatni}} równe {{Code|1}} lub dla tych, gdzie: {{LinkŚródtytuł|p.CzyTamElementyNieSpisoweArtykularne|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, zwraca wartość logiczną prawdziwą, własnie dla tego, jeśli ta operacja zwróci prawdę, to dla tego są dopasowywane elementy zwracane. Wtedy wiadomo, że wyszukane tak pozycje są rozdziałami. Funkcja zwraca wyniku w postaci wartości szegu zwraacanych: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek_poczt,naglowek,poziom_naglowka,liczba_start_naglowek_dalej,liczba_koniec_naglowek_dalej,naglowek_dalej,poziom_naglowka_dalej; </syntaxhighlight> Wytłumaczenie tych elementów zrzuconych przez nią dla dopasowań, licząc od tyłu: ; Ostanie dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty{{dk}} * {{Code|liczba_start_naglowek}} - początek ostatniego wyszukanego takiego nagłówka, * {{Code|liczba_koniec_naglowek_poczt}} - koniec pierwszego wyszukanego nagłówka, * {{Code|naglowek}} - wartość nagłówka dla tego ostatniego dopasowania, * {{Code|poziom_naglowka}} - poziom takiego nagłówka, ; Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym{{dk}} : Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie jest równa znakom odstępu i nie jest pusty: * {{Code|liczba_start_naglowek_dalej}} - początek po pasującym tak nagłówku, * {{Code|liczba_koniec_naglowek_dalej}} - a tutaj jego koniec, * {{Code|naglowek_dalej}} - wartość tekstu napisu wprowadzenia tekstu, * {{Code|poziom_naglowek_dalej}} - tutaj jego poziom. == {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} == Funkcja służy do zaawansowanego szukania nagłówków w przeciwieństwie do: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, która służy przede wszystkim do szukania sekcji kolejnych jednego rodzaju, a ta funkcja znajduje się w postaci wielu typów, ona wie, że w tekście może być równy układ nagłówków różnych typów. Funkcja wyszukuje od tyłu, znajduje parametry ostatniego nagłówka i je zwraca, jeżeli je znalazł, a jeśli nie, to nie zwraca żadnej wartości, tylko funkcja się zakańcza. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> function p.SzukanieKolejnychSekcji(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_obiekt_start_nowe,liczba_obiekt_start_kolei_par,czy_bez_naglowka,AnalizowanieSekcjowe)...end; </syntaxhighlight> Parametry funkcji: * Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, * Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji ich nie szuka jednego rodzaju tylko, lecz wielu. ; Etapy dopasowania ostatniego dopasowania rozdziałów, jego pozycja w tekście i jego napis wprowadzenia tekstu * Etap ogólny Funkcja najpierw wyszukuje rozdziały poprzez wskazanie przez funkcję: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, a jeżeli znalazł artykuł, o niepustych secjach pomiędzy ostatnim wskazanym artykułen, a rozdziałem, wtedy ta funkcja zwraca wartość logiczną fałszywą i zwraca wartość nilową, czyli nic nie zwraca, i funkcja się zakańcza, i wskazuje, że nie znalazł takiego nagłówka, to się dziaje pod warunkiem, że funkcja: {{LinkPatrz|AnalizowanieSekcjowe}}, została podana, w przeciwnym wypadku, to już tak się nie dzieje, a nagłówek z tego wywołania mógł być znaleziony, ale nie musiał. ; Etapy alternatywy * Pierwszy etap ** To dotyczy, że znalazł ostatnie dopasowanie, ale niepasującego nagłówka przed nim nie ma. * Drugi ** To dotyczy, że takiego dopasowania pasującego nie znalazł. * Trzeci ** To dotyczy pozostałych przypadków, w którym znalazł ostatnie dopasowanie, a niepasujące przed nim też znalazł. Funkcja zwraca wartości określone przez kod: <syntaxhighlight lang="lua"> return liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka; </syntaxhighlight> Wytłumaczenia parametrów zwracanych: ; Parametry określają ostatnie dopasowanie nagłówkowe w wewnątrz funkcji{{dk}} * {{Code|liczba_start_naglowek}} - początek tego dopasowania, * {{Code|liczba_koniec_naglowek}} - jego koniec, * {{Code|naglowek}} - wartość napisu wprowadzenia tekstu nagłówka, * {{Code|poziom_naglowka}} - poziom tego nagłówka. == {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} == == {{Śródtytuł|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}}{{Code|p.LinkiNormalneWLubPozaProjektoweSzablonyNieSekcjowychPozycjach}} == {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 4z7mo585m9td02k69cy29d6ori15pkw Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy 4 63923 552502 552435 2026-08-20T05:01:43Z Persino 2851 /* Spis treści */ 552502 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}|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 do analizy i wydzielania, ze strony, dowolnego spisu rzeczy należącego do książki w przestrzeni nazw, nawet niby, czyli: '''{{Np|(main)|link=tak}}''', '''{{Np|Wikijunior|link=tak}}''', '''{{lr2|Brudnopis}}/<użytkownik>''' i '''{{Np|User|link=tak}}/<użytkownik>'''. Moduł posiada specjalistyczne funkcje wyszukujące tekst według wzoru od przodu, jak i od tyłu, jak i funkcje znajdujące szcziśle określone elementy niezaleznie w jakim porzodku, ale kolejność sie liczy, tzn. do przodu lub wsteczna. Funkcja wyszukuje rozdziały, w tym rozdział: '''Spis tresci''', czy: '''Spis rzeczy''', niezależnie jak znormowane, od tyłu, znajdując rozdziały najbliższe przed sobą, nawet wyszukując je kolejne. == Spis treści == Poszcególne moduły opisują, dla przejrzysości podzielone na nie, poszczególne funkcje w module: {{Code|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}}}, a te strony z nimi: * {{lru|Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom I}} - są do moduły do wyszukiwania napisów wprowadzenia tekstu przede wszystkim zerowych, ale też mozna sprawdzić, czy przypadkiem to jest rozdział centrowany, aby go czasami wykluczyć z obliczeń, * {{lru|Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom II}} - są do sprawdzania, czy szablon, obiekt typu: {{Code|SZABLON}}, czy inne: {{Code|LINKW}} i {{Code|LINKZ}}, są obiektami spisu treści podręcznika, a jeżeli tak, to funkcja zwraca wartość prawdziwości (powodzenia), lub do rewidowania, czy w linii niebędącej pozycją ujemną, czy tam są w ogóle elementy symbolizujące jakiegoś rodzaju linki spisu rzeczy, tam przedstawiane szablony albo to są szablony linków inteligetnych - czyli szablonu spisu, jak i inne linki typowo spisowe, używane tylko w spisach, a nie w treściwych częściach książki, * {{lru|Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom III}} - do przeszukiwania ciągów znakowych podanych w tekście lub wewnątrz linii, w postaci przechwytywanych ciągów znakowych (ich jest maksymalnie dziewięć), one zwracają początek i koniec ostatniego dopasowania według kryteriów, * {{lru|Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom IV}} - wyszukujące rozdziały lub w samym nagłówku, które mają odpowiednie lub nie zawartości, takiego pierwszego, od tyłu, lub do przodu, * {{lru|Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom V}} - dotyczące wyszukiwania sekcji na zakodowanym tekście strony, w tym również linkowych, warunków znajdowania kolejnych rozdziałów w wikikodzie, jakie nagłówki wyszukiwać, jakie muszą spełniać rozwiązania, * {{lru|Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom VI}} * {{lru|Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom VII}} {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> hrlf2ck5mjd90i8ymn9gpgxkf77j4il