Wikibooks
plwikibooks
https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna
MediaWiki 1.48.0-wmf.3
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
Wikibooks:Moduły/Nazwy/Tom I
4
62922
560580
560296
2026-11-04T08:55:18Z
Persino
2851
/* Sprawdzanie, czy dana przestrzeń jest poprawnie podane, czy istnieje */
560580
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Nazwy}}|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 nazw nazwy przestrzeni nazw ==
Należy przeczytać wiadomości ze strony {{lru|Moduły/Nazwy}}, które są informacjami wstępnymi, by używać funkcji bibliotecznych: {{m|Nazwy|Np}} i {{m|Nazwy|NpDane}}, i z nimi skojarzonych szablonów, tzn.: {{s|Np}} i {{s|NpDane}}. Wiadomosci też stąd są bardzo potrzebne do dalszych modułów tomów tej publikacji, to znaczy do funkcji, czy szablonów, nazw.
=== {{Śródtytuł|m.Np}}{{Code|m.Np}} ===
==== Odpowiednik szablonowy ====
Odpowiednik szablonowy jest pod nazwą {{s|Np}}, odpowiednik funkcji, w mechanizmie '''MediaWiki''', tzn.: {{Span|styl=color:blue;|<nowiki>{{ns:<nazwa przestrzeni kanoniczna lub nie, albo jej id>}}</nowiki>}}, format tego, bo to nie jest szablon, czy funkcja, tylko wywołanie parserowe, tego, w którym jej parametr, tylko przestrzeny w nim występuje, jej element jest podobny do jej wersji bibliotecznej, opisywanej funkcji.
Format wersji bibliotecznej tej funkcji jest bardzo bodobny do jej wersji szablonowej, tylko jest inne uruchomienie, tam jest ramka, a tutaj wywołanie szablonowe.
Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
* Szablon {{s|Np}} korzysta z funkcji bibliotecznej {{m|Nazwy|Np}}, więc parametry obu są wręcz takie same, a nawet podobne. Chociaż ta sama nazwa funkcji w ramce i kodzie {{lpg|Lua}}, to używanie ich nie jest dokładnie takie samo, funkcja biblioteczna nie potrzebuje parametru {{Parametr|wyspecjalizowana|tak}}, a ramka już tak, a szablon {{s|Np}}, który korzysta z tej ramki, to nieobecność, lub obecność z wartością pustą, tego parametru powoduje, że przyjmowane są parametry rodzica, a nie dziecka, które wymagają jego niepustość.
==== Funkcja biblioteczna ====
Zestaw parametrów tej funkcji są to parametry nazwane podawane, w wersji tabelkowej,, w nawiasach klamerkowej, jak się to podaje w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
; Paramery funkcji{{dk}} {{nobold|{{Code|{{m|Nazwy|Np|...|wyspecjalizowana{{=}}tak}}}}}}, lub funkcji bibliotecznej wykorzystującej opisywaną funkcję{{Dk}}
{{OpisParametrów
| 1 = Parametry podstawowe: | nagłówek1=tak
| 2 = {{Code|nazwa}} lub {{Code|1}} | _2 = Nazwa przestrzeni nazw, kanoniczna lub nie, lub {{Code|id}} danej przestrzeni.
| 3 = {{Parametr|wyspecjalizowana|tak}} | _3 = Tylko dla tej funkcji wywołanej w postaci ramki w wikikodzie w szablonach, gdy do niej wsadzamy bezpośrednio jako dzieci, a w przypadku z rodzica to ten parametr jest niepotrzebny lub powinien przyjmować wartość pustą,
| 4 = Zmienne puste lub nie, np. o wartości: {{Code|tak}}, lub nie, podawane do tej funkcji są:| nagłówek4=tak
| 5 = {{Code|przedmiotowa}} | _5 = Zamienia daną przestrzeń na jej nazwę przedmiotową, tzn. na przestrzenie o numerach {{Code|id}} parzyste.
| 6 = {{Code|dyskusja}} | _6 = Zamienia daną przestrzeń na jej wersję dyskusji, tzn. na przestrzenie o numerach {{Code|id}} nieparzyste.
| 7 = {{Code|kanoniczna}} | _7 = Zamienia nazwę przestrzeni lub {{Code|id}} danej przestrzeni na jej nazwę kanoniczną, tzn. na jej wersję angielską.
| 8 = {{Code|z myślnikami dolnymi}} | _8 = Zamienia spację w nazwach przestrzenie nazw na dolne myślniki,
| 9 = {{Code|wyświetlana}} | _9 = Ten parametr nie wpływa na sposób wyświetlania nazw przestrzeni, oprócz jednej przestrzeni nazw, której jest przestrzeń główna o nazwie kanonicznej {{Code|(main)}} lub niekanonicznej {{Code|(główna)}}, wtedy są wyświetlane zamiast ciągu pustego te nazwy w zależności od podanego parametru {{Code|kanoniczna}}, tj. czy ona jest pusta lub nie, lub niepodana.
| 10 = {{Code|link}} | _10 = Drukuje link o nazwie referencji, którą jest nazwa wyświetlana danej przestrzeni nazw, lub jej {{Code|id}}, o adresie strony przekierowującej, której jest adres odniesienia podanej w tabeli powyżej dla tej funkcji lub szablonu {{s|Np}}.
| 11 = {{Code|id}} | _11 = wyświetla id danej przestrzeni nazw.
| 12 = {{Code|nazwij projektem}} | _12 = Powoduje, że wyświetlana jest nazwa projektu {{Code|Wikibooks}} w postaci rzeczywistej nazwy kanonicznej (używany wraz z parametrem {{Code|kanoniczna}}), tzn. w postaci nazwy {{Code|Project}}, lub bez tego parametru, w postaci nazwy nierzeczywistej niekanonicznej {{Code|Projekt}}.
| 13 = {{Code|nazwij dyskusją projektu}} | _13 = Powoduje, że wyświetlana jest nazwa projektu {{Code|Dyskusja wikibooks}} w postaci rzeczywistej nazwy kanonicznej (używany wraz z parametrem {{Code|kanoniczna}}), tzn. w postaci nazwy {{Code|Project talk}}, lub bez tego parametru, w postaci nazwy nierzeczywistej niekanonicznej {{Code|Dyskusja projektu}}.
| 14 = Inne zmienne niepuste:|nagłówek14=tak
| 15 = {{Code|istnieje}} | _15 = Zwraca wartość tekstową {{Code|(bląd)}}, gdy przestrzeń jest nieprawidłowa lub nie istnieje, w innym przypadku zwraca normalną wartość.
| 16 = {{Code|wynik błędu nietekstowy}} | _16 = Używany z {{Code|istnieje}}, zwraca wartość w języku {{lpg|Lua}} wartość {{Code|nil}}, gdy wartość nazwy przestrzeni nazw lub {{Code|id}} jest nieprawidłowa lub nieznana.
| 17 = Zwracana zmienna w postaci tabeli ze składowymi z pewnymi podzmiennymi:|nagłówek17=tak
| 18 = {{Code|uchwyt}} | _18 = Zwraca uchwyt przestrzeni nazw do danej przestrzeni nazw.
}}
===== Przykłady używania =====
====== Podstawowe wywołanie ======
Podstawowe przykłady podstawowego wywołania funkcji, czyli uzyskiwania nazwy niekanonicznej z dowolnej nazwy przestrzeni kanonicznej, czy jej numeru {{Code|id}} (kodu danej przestrzeni nazw, który reprezentuje daną przestrzeń nazw przedmiotową, czy dyskusji), a więc:
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_1 = nazwy_modul.Np{ [1] = "Szablon", };
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_2 = nazwy_modul.Np{ [1] = "Template", };
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_3 = nazwy_modul.Np{ [1] = 10, };
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_4 = nazwy_modul.Np{ nazwa = "Szablon", };
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_5 = nazwy_modul.Np{ nazwa = "Template", };
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_6 = nazwy_modul.Np{ nazwa = 10, };
</syntaxhighlight>
Te trzy pary wywołania wyświetlają ten sam wynik tzn. o takiej samej wartości, bo parametr {{Code|nazwa}} wskazuje na tą samą przestrzeń nazw, tylko one są rożnie wskazane. Został ta użyty parametr: {{Code|1}} lub {{Code|nazwa}}, które oznaczają to samo, czyli przestrzeń nazw w postaci kanonicznej, niekanonicznej, czy numeru {{Code|id}}, czyli identyfikatora przestrzeni nazw. Jako wartość uzyskujemy tam nazwę kanoniczną przestrzenina polskiem {{NS|l=tak|p=ie}}.
Przestrzeń nazw może zawierać dowolnej wielkości litery, z dowolną liczbą odstępów z dolnymi spacjami lub normalnymi, jeżeli w nim one występują,wtedy zawsze oznaczają one tą samą przestrzeń, niezależnie jak ją zapiszemy, przykłady poniżej.
Równie dobrze dowolną nazwę niekanoniczną możemy napisać, co jest uwidocznione w parametrze {{Code|nazwa}}, na wyjściu otrzymujemy w pełni sformatowaną nazwę niekanoniczną, która odpowiada jej odpowiednikowi niesformatowanemu:
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_1 = nazwy_modul.Np{ nazwa = "SZABLON", };
-- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_2 = nazwy_modul.Np{ nazwa = "TEMPLATE", };
-- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_3 = nazwy_modul.Np{ nazwa = "DYSKUSJA ___ ___ _ SZABLONU", };
-- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_4 = nazwy_modul.Np{ nazwa = "TEMPLATE_________TALK", };
</syntaxhighlight>
====== Nazwy kanoniczne i niekanoniczna oraz zamiana z jednej na drugą ======
Aby uzyskać nazwę z dowolnej nazwy, nawet też kanonicznej, czynie, czy też z numeru {{Code|id}} (identyfikatora przestrzeni nazw), wtedy należy podać parametr przestrzeni nazw, z dodatkowym parametrem {{Code|kanoniczna}}, w takim razie:
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Uzyskujemy wartość: "Template":
local nazwa_kanoniczna_1 = nazwy_modul.Np{ nazwa = "Szablon", kanoniczna = "tak", };
-- Uzyskujemy wartość: "Template":
local nazwa_kanoniczna_2 = nazwy_modul.Np{ nazwa = "Template", kanoniczna = "tak", };
-- Uzyskujemy wartość: "Template":
local nazwa_kanoniczna_3 = nazwy_modul.Np{ nazwa = 10, kanoniczna = "tak", };
</syntaxhighlight>
* Według powyższego przykładu, ona, czyli przestrzeń nazw, jest zamieniana na sformatowaną nazwę kanoniczną, jako parametr może być nazwa niekanoniczna, kanoniczna, czy identyfikator przestrzeni nazw.
Dowolną nazwę kanoniczną, czy nie, można zamienić na niekanoniczną, niezależnie w jakiej formie podamy przestrzeń nazw, może być to przekształcenie tożsamościowe, może być to w postaci identyfikatora tej przestrzeni, niezależnie jaką ją mamy na myśli, więc:
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Uzyskujemy wartość: "Szablon":
local nazwa_niekanoniczna = nazwy_modul.Np{ nazwa = "Template", };
</syntaxhighlight>
* Wystarczy wtedy użyć tylko jednego parametru, nie trzeba używać większej liczby innych parametrów.
====== Nazwy przedmiotowe i dyskusji oraz przejścia pomiędzy nimi ======
Można też przechodzić z tej samej przestrzeni nazw w nią samą, lub do niego skojarzoną, tzn. z przedmiotowej do dyskusji lub odwrotnie, przykłady poniżej. Do tego celu używamy parametru {{Code|przedmiotowa}}, czyli do tłumaczenia nazwy przestrzeni nazw na jej wersję przedmiotową, tzn. na przestrzeń nazw o identyfikatorze parzystym. Można też użyć parametru {{Code|dyskusja}}, robiąca tłumaczenia na wersje dyskusji, o identyfikatorze nazwy przestrzeni nazw nieparzystym.
Nie wolno używać tych parametrów, tych dwóch w jednym wywołaniu, bo może dojść do błędu funkcji w postaci komunikatu {{Code|(błąd)}}.
Tłumaczona nazwa może być zarówno niekanoniczna, jak i kanoniczna, lub być zawarta w postaci identyfikatora przestrzeni nazw.
Tutaj bez użycia żadnego parametru dodatkowego, wtedy otrzymujemy na wyjściu nazwę niekanoniczną.
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Gdy nazwą przestrzeni jest nazwa niekanoniczna:
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_1 = nazwy_modul.Np{ nazwa = "Dyskusja szablonu", przedmiotowa = "tak", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_1 = nazwy_modul.Np{ nazwa = "Szablon", dyskusja = "tak", };
-- Gdy nazwą przestrzeni jest nazwa kanoniczna:
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_2 = nazwy_modul.Np{ nazwa = "Template talk", przedmiotowa = "tak", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_2 = nazwy_modul.Np{ nazwa = "Template", dyskusja = "tak", };
-- Gdy prrzestrzeń nazw jest w postaci numeru id:
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_3 = nazwy_modul.Np{ nazwa = 11, przedmiotowa = "tak", };
---- Zwraca wartość: szablon "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_3 = nazwy_modul.Np{ nazwa = 10, dyskusja = "tak", };
</syntaxhighlight>
Gdy użyjemy dodatkowo parametr {{Code|kanoniczna}}, zamieniający dowolne przestrzenie nazw, niezależnie, czy jest zapisana w postaci identyfikatora, czy nie, gdy nazwą przestrzeni jest nazwa niekanoniczna (lub kanoniczna), to uzyskana nazwa przedmiotowa, czy dyskusji, jest nazwą kanoniczną, jako w wyniku:
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Gdy nazwą przestrzeni jest nazwa niekanoniczna:
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_przedmotowej_1 = nazwy_modul.Np{ nazwa = "Dyskusja szablonu", przedmiotowa = "tak", kanoniczna = "tak", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_1 = nazwy_modul.Np{ nazwa = "Szablon", dyskusja = "tak", kanoniczna = "tak", };
-- Gdy nazwą przestrzeni jest nazwa kanoniczna:
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_przedmotowej_2 = nazwy_modul.Np{ nazwa = "Template talk", przedmiotowa = "tak", kanoniczna = "tak", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_2 = nazwy_modul.Np{ nazwa = "Template", dyskusja = "tak", kanoniczna = "tak", };
-- Gdy przestrzeń nazw jest w postaci numeru id:
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_przedmotowej_3 = nazwy_modul.Np{ nazwa = 11, przedmiotowa = "tak", kanoniczna = "tak", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_3 = nazwy_modul.Np{ nazwa = 10, dyskusja = "tak", kanoniczna = "tak", };
</syntaxhighlight>
Przejście z tej samej przestrzeni na tą samą możemy uzyskać, gdy nazwę przedmiotową tłumaczymy na przedmiotową, dyskusji na dyskusji, wtedy tłumaczenie z przestrzeni do przestrzeni jest tożsamościowe, niezależnie w jakiej formie podamy nazwę przestrzeni nazw jako parametr, tłumaczymy nazwę polską na tą samą nazwę też polską, o tej samej wartości lub jej odpowiednik angielski w wersji kanonicznej na jej wersję niekanoniczną, czy z numeru identyfikatorana jej odpowiednik nazwowy, ale nadal takie przejście jest tożsamosciowe, bo chodzi o tą samą przestrzeń nazw, mimo że użyliśmy tych parametrów:
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Gdy nazwą przestrzeni jest nazwa niekanoniczna:
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_1 = nazwy_modul.Np{ nazwa = "Szablon", przedmiotowa = "tak", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_1 = nazwy_modul.Np{ nazwa = "Dyskusja szablonu", dyskusja = "tak",};
-- Gdy nazwą przestrzeni jest nazwa kanoniczna:
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_2 = nazwy_modul.Np{ nazwa = "Template", przedmiotowa = "tak", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_2 = nazwy_modul.Np{ nazwa = "Template talk", dyskusja = "tak",};
-- Gdy przestrzeń nazw jest w postaci numeru id:
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_3 = nazwy_modul.Np{ nazwa = 10, przedmiotowa = "tak", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_3 = nazwy_modul.Np{ nazwa = 11, dyskusja = "tak",};
</syntaxhighlight>
Gdy użyjemy dodatkowo parametr {{Code|kanoniczna}}, to uzyskana nazwa przedmiotowa, czy dyskusji, wtedy mamy tłumaczenie tozsamościowe, jeśli chodzi o przestrzeń nazw, co one oznaczają, jeśli ona jest niekanoniczna, to uzyskamy jej nazwę, ale po angielsku, a jeśli jednak jest kanoniczna, to otrzymamy ten sam wynik:
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Gdy nazwą przestrzeni jest nazwa niekanoniczna:
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_przedmotowej_1 = nazwy_modul.Np{ nazwa = "Szablon", przedmiotowa = "tak", kanoniczna = "tak", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_1 = nazwy_modul.Np{ nazwa = "Dyskusja szablonu", dyskusja = "tak", kanoniczna = "tak", };
-- Gdy nazwą przestrzeni jest nazwa kanoniczna:
---- Zwraca wartość: Template":
local nazwa_przestrzeni_przedmotowej_2 = nazwy_modul.Np{ nazwa = "Template", przedmiotowa = "tak", kanoniczna = "tak", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_2 = nazwy_modul.Np{ nazwa = "Template talk", dyskusja = "tak", kanoniczna = "tak", };
-- Gdy przestrzeń nazw jest w postaci numeru id:
---- Zwraca wartość: ""Template":
local nazwa_przestrzeni_przedmotowej_3 = nazwy_modul.Np{ nazwa = 10, przedmiotowa = "tak", kanoniczna = "tak", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_3 = nazwy_modul.Np{ nazwa = 11, dyskusja = "tak", kanoniczna = "tak", };
</syntaxhighlight>
====== Nazwy przestrzeni z myślnikami dolnymi ======
Gdy używamy przestrzeni nazw, czy to w postaci kanonicznej, czy niekanonicznej, ze spacjami, to spacje są w nim zamieniane na dolne myślniki. Jeżeli parametr zawiera spacje lub dolne myślniki na końcach nazwy, to ona jest trimowana, wewnątrz, wtedy powtórzone spacje, lub myślniki dolne, są zamieniane na jeden dolny myślnik, jeżeli zamieniamy nazwę niekanoniczną na niekanoniczną, kanoniczną na kanoniczną. Gdy tak nie jest, tzn. gdy zamieniamy kanoniczną na niekanoniczną, niekanoniczną na kanoniczną, to wtedy jest podobnie.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Dyskusja_szablonu":
local nazwa_przestrzeni_1 = nazwy_modul.Np{ nazwa = "Dyskusja szablonu", ["z myślnikami dolnymi"] = "tak", };
---- Zwraca wartość: "Dyskusja_szablonu":
local nazwa_przestrzeni_2 = nazwy_modul.Np{ nazwa = "Template talk", ["z myślnikami dolnymi"] = "tak", };
---- Zwraca wartość: "Template_talk";:
local nazwa_przestrzeni_3 = nazwy_modul.Np{ nazwa = "Dyskusja szablonu", kanoniczna = "tak", ["z myślnikami dolnymi"] = "tak", };
---- Zwraca wartość: "Template_talk":
local nazwa_przestrzeni_4 = nazwy_modul.Np{ nazwa = "Template talk", kanoniczna = "tak", ["z myślnikami dolnymi"] = "tak", };
</syntaxhighlight>
====== Nazwy wyświetlane przestrzeni nazw ======
Gdy nazwą przestrzeni nazw jest nazwa o charakterze niepustym, to przy parametrze {{Code|wyświetlana {{=}} "tak"}}, jest zamieniana ona na tą samą nazwę, gdy ona jest pusta, to jest zamieniana na szereg: {{Code|(główna)}} bez parametru {{Code|kanoniczna}}, a z tym parametrem na {{Code|(main)}}.
Przykłady jak jest, jest powiedziane:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_1 = nazwy_modul.Np{ nazwa = "Szablon", wyświetlana = "", };
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_2 = nazwy_modul.Np{ nazwa = "Szablon", wyświetlana = "tak", };
---- Zwraca wartość: "":
local nazwa_przestrzeni_3 = nazwy_modul.Np{ nazwa = "", wyświetlana = "", };
---- Zwraca wartość: "(główna)":
local nazwa_przestrzeni_4 = nazwy_modul.Np{ nazwa = "", wyświetlana = "tak", };
---- Zwraca wartość: "(main)":
local nazwa_przestrzeni_5 = nazwy_modul.Np{ nazwa = "", kanoniczna = "tak", wyświetlana = " tak", };
</syntaxhighlight>
Na podstawie ramki powyżej w przestrzeniach nazw wyświetlanych dowiadujemy się, że jedyna różnica, w nazwach wyświetlanych lub nie, jest dla przestrzeni głównej, czyli dla przestrzeni nazw, której nazwa przestrzeni jest ciągiem pustym.
====== Wersja funkcji z wyświetlaną nazwą przestrzeni nazw z linkiem opisującej tą przestrzeń ======
Nazwę przestrzeni nazw zamieniamy na link z opisem, co robi dana przestrzeń nazw, z nazwą wyświetlaną niekanoniczną, bez parametru {{Code|kanoniczna}}, lub z tym,wtedy nazwę wyświetlaną jest kanoniczna. Gdy przestrzeń nazw jest główna, to wtedy nazwą linku jest {{Code|(główna)}} ({{Code|(main)}} z parametrem {{Code|kanoniczna}}).
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_1 = nazwy_modul.Np{ nazwa = "Szablon", link = "tak", };
local nazwa_przestrzeni_nazw_2 = nazwy_modul.Np{ nazwa = "Szablon", link = "tak", kanoniczna = "tak", };
local nazwa_przestrzeni_nazw_3 = nazwy_modul.Np{ nazwa = "", link = "tak", };
local nazwa_przestrzeni_nazw_4 = nazwy_modul.Np{ nazwa = "", link = "tak", kanoniczna = "tak", };
</syntaxhighlight>
Przykłady funkcji w wyniku są w przykładach szablonowych:
# {{Code|{{s|Np|nazwa{{=}}Szablon|link{{=}}tak}}}} → {{Tt|{{Np|nazwa=Szablon|link=tak}}}}
# {{Code|{{s|Np|nazwa{{=}}Szablon|link{{=}}tak|kanoniczna{{=}}tak}}}} → {{Tt|{{Np|nazwa=Szablon|link=tak|kanoniczna=tak}}}}
# {{Code|{{s|Np|nazwa{{=}}|link{{=}}tak}}}} → {{Tt|{{Np|nazwa=|link=tak}}}}
# {{Code|{{s|Np|nazwa{{=}}|link{{=}}tak|kanoniczna{{=}}tak}}}} → {{Tt|{{Np|nazwa=|link=tak|kanoniczna=tak}}}}
====== Uzyskiwanie numeru {{Code|id}} danej przestrzeni nazw ======
Gdy chcemy uzyskać numer identyfikatora przestrzeni nazw, czy to z użyciem parametru {{Code|kanoniczna}}, czy nie, wtedy ten parametr jest w tym przypadku ignorowany, przy parametrze {{Code|id {{=}} "tak"}} na jej odpowiednik w postaci numeru, który charakteryzuje przestrzenie przedmiotowe i dyskusji, inna jest dla tych dwóch typów przestrzeni. Dla przestrzeni przedmiotowej {{Code|id}} jest parzyste, a dla dyskusji nieparzyste.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Uzyskany numer id nazwy przestrzeni nazw jest 10:
local id_1 = nazwy_modul.Np{ nazwa = "Szablon", id = "tak", };
---- Uzyskany numer id nazwy przestrzeni nazw jest 10:
local id_2 = nazwy_modul.Np{ nazwa = "Szablon", kanoniczna = "tak", id = "tak", };
---- Uzyskany numer id nazwy przestrzeni nazw jest 11:
local id_3 = nazwy_modul.Np{ nazwa = "Dyskusja szablonu", id = "tak", };
---- Uzyskany numer id nazwy przestrzeni nazw jest 11:
local id_4 = nazwy_modul.Np{ nazwa = "Dyskusja szablonu", kanoniczna = "tak", id = "tak", };
</syntaxhighlight>
====== Uzyskiwanie nazwy projektu nazwy przedmiotowej i jej dyskusji, z kanonicznej lub nie, przestrzeni nazw ======
Gdy używamy przestrzeni nazw {{Np|Wikibooks|link=tak}} lub {{Np|Wikibooks|link=tak|dyskusja=tak}}, to je można tłumaczyć na je wersje czysto kanoniczne, tzn.: {{Np|Wikibooks|link=tak}} tłumaczymy na {{Np|Wikibooks|link=tak|nazwij projektem=tak}}, a {{Np|Wikibooks|link=tak|dyskusja=tak}} na {{Np|Wikibooks|link=tak|dyskusja=tak|nazwij dyskusją projektu=tak}}, gdy translacja jest na nazwę polską niekanoniczną, a gdy użyjemy parametru {{Code|kanoniczna}}, wtedy sytuacja jest inna: {{Np|Wikibooks|link=tak|kanoniczna=tak}} tłumaczymy na {{Np|Wikibooks|link=tak|nazwij projektem=tak|kanoniczna=tak}}, a {{Np|Wikibooks|link=tak|dyskusja=tak|kanoniczna=tak}} na {{Np|Wikibooks|link=tak|dyskusja=tak|nazwij dyskusją projektu=tak|kanoniczna=tak}}.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Projekt":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.Np{ nazwa = "Wikibooks", ["nazwij projektem"] = "tak", };
---- Zwraca wartość: "Project":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.Np{ nazwa = "Wikibooks", ["nazwij projektem"] = "tak", kanoniczna = "tak", };
---- Zwraca wartość: "Dyskusja projektu":
local nazwa_przestrzeni_nazw_3 = nazwy_modul.Np{ nazwa = "Wikibooks", ["nazwij dyskusją projektu"] = "tak", dyskusja = "tak", };
---- Zwraca wartość: "Project talk":
local nazwa_przestrzeni_nazw_4 = nazwy_modul.Np{ nazwa = "Wikibooks", ["nazwij dyskusją projektu"] = "tak", kanoniczna = "tak", };
</syntaxhighlight>
====== Sprawdzanie, czy dana przestrzeń jest poprawnie podane, czy istnieje ======
Gdy używamy przestrzeni nieistniejącej bez parametru {{Code|istnieje {{=}} "tak" }}, wtedy na wyjściu otrzymamy to samo, tylko w wersji sformatowanej, a gdy użyjemy, wtedy pojawia tam się napis {{Code|(błąd)}}. Gdy parametrem jest znana funkcji przestrzeń nazw, to nie uzyskujemy błędu, tylko przepisaną sformatowaną nazwę.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.Np{ nazwa = "Szablon", istnieje = "tak", };
---- Zwraca wartość: "Moja przestrzeń":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.Np{ nazwa = "Moja przestrzeń", istnieje = "", };
---- Zwraca wartość: "(błąd)":
local nazwa_przestrzeni_nazw_3 = nazwy_modul.Np{ nazwa = "Moja przestrzeń", istnieje = "tak", };
</syntaxhighlight>
====== Łatwe sprawdzanie istnienia danej przestrzeni nazw ======
Gdy oprócz parametru {{Code|istnieje {{=}} "tak"}}, użyjemy {{Code|["wynik błędu nietekstowy"] {{=}} "tak"}}, wtedy dla nieznanej przestrzeni uzyskujemy wartość w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, czyli: {{Code|nil}}, a w wikikodzie natomiast uzyskujemy wartość pustą, co pomaga w sprawdzeniu, czy dana przestrzeń istnieje, ale dodatkowo trzeba użyć parametru {{Code|["wyświetlana"] {{=}} "tak"}}, by nie pomylić parametru błędu z przestrzenią główną, wtedy ta przestrzeń ma nazwę niepustą przy tych parametrach, bo wtedy mamy nazwę niekanoniczną {{Code|(główna)}}, kanoniczną, przy specjalnym parametrze, czyli: {{Code|(main)}}, wtedy możemy użyć parsera {{Code|{{s|#if:coś|wtedy|przeciwnie}}}}.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.Np{ nazwa = "Szablon", istnieje = "tak", ["wynik błędu nietekstowy"] = "tak", };
---- Zwraca wartość: "Moja przestrzeń":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.Np{ nazwa = "Moja przestrzeń", istnieje = "", ["wynik błędu nietekstowy"] = "tak", };
---- Zwraca wartość: nil:
local nazwa_przestrzeni_nazw_3 = nazwy_modul.Np{ nazwa = "Moja przestrzeń", istnieje = "tak", ["wynik błędu nietekstowy"] = "tak", };
</syntaxhighlight>
====== Uzyskiwanie uchwytu danej przestrzeni nazw analogicznie do funkcji {{LzLua|mw.site.namespaces}} ======
Uchwyt niskopoziomowy do danej przestrzeni nazw można uzyskać przy pomocy kodu, uzyskujemy dla tej tablicy przestrzennej, która jest połączona z metatabelką, dzięki której możemy podawać przestrzenie nazw w wersji niezależnie jakimi literami, z dowolną kliczbą odstępów, nawet zapisana dolnymi myślnikami:
<syntaxhighlight lang="lua">
local uchwyt_1 = mw.site.namespaces["Szablon"];
local uchwyt_2 = mw.site.namespaces["Template"];
local uchwyt_3 = mw.site.namespaces[10];
</syntaxhighlight>
Funkcja powyżej ignoruje wielkość liter w przestrzeni nazw oraz powtórzone odstępy zrealizowane za pomocą spacji lub dolnych myślników.
To samo, ale wysokopoziomowe, można utworzyć przy pomocy parametru: {{Code|uchwyt}}, wtedy szablon z rzuci odwołanie do tej tabeli, ale nie zawsze tak jest, czasami, gdy jakieś przestrzenie nie istnieją na polskim {{NS|w=tak|l=tak|pk=mj}}, wtedy odwołujemy się do jej wersji pseudo tej tabeli:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local uchwyt_1 = nazwy_modul.Np{ nazwa = "Szablon", uchwyt = "tak", };
local uchwyt_2 = nazwy_modul.Np{ nazwa = "Template", uchwyt = "tak", };
local uchwyt_3 = nazwy_modul.Np{ nazwa = 10, uchwyt = "tak", };
</syntaxhighlight>
Funkcja {{Code|nazwy_modul.Np}} jest bardziej ogólniejsza niż {{LzLua|mw.site.namespaces}}, ponieważ uwzględnia większą liczbę nazw przestrzeni nazw, bo ona uwzględnia nieznane przestrzenie i znane o nieznanych nazwach, i dlatego należy stosować tę funkcję, a nie dedykowaną tabelę z połączoną z metatabelką za pomocą funkcji {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
=== {{Śródtytuł|m.NpDane}}{{Code|m.NpDane}} ===
==== Odpowiednik szablonowy ====
Odpowiednik szablonowy jest pod nazwą {{s|NpDane}}. Jego parametry są podobne do jego wersji bibliotecznej.
Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
* Szablon {{s|NpDane}} korzysta z funkcji bibliotecznej {{m|Nazwy|NpDane}}, więc parametry obu są wręcz takie same, a nawet podobne. Chociaż ta sama nazwa funkcji w ramce i kodzie {{lpg|Lua}}, to używanie ich nie jest dokładnie takie samo, funkcja biblioteczna nie potrzebuje parametru {{Parametr|wyspecjalizowana|tak}}, a ramka już tak, a szablon {{s|NpDane}}, który korzysta z tej ramki, to nieobecność, lub obecność z wartością pustą, tego parametru powoduje, że przyjmowane są parametry rodzica, a nie dziecka, które wymagają jego niepustość.
==== Funkcja biblioteczna ====
Szablon służy przede wszystkim do tłumaczenia angielskich nazw przestrzeni nazw na ich wersję w jakimś języku i operacji odwrotnej, a także numer przestrzeni nazw na jej nazwę w nim angielską lub w jakimś języku, lub odwrotnie, umożliwia też na przetłumaczenie nazwy przestrzeni nazw lub identyfikatora przestrzeni na jej nazwę polską, jeżeli istnieje.
Funkcja {{m|Nazwy|NpDane}} przyjmuje te same parametry, co {{m|Nazwy|Np}}, oprócz wywołania ramkowego: {{Code|uchwyt}} (która w tej funkcji w sposób inny jest zdefiniowana, nie jak w funkcji: {{m|Nazwy|Np}}), jak oba, którego tutaj w nim nie ma, a jako zwykła funkcja biblioteczna może przyjmować ten parametr. Te zmienne działają podobnie w obu procedurach, z tą różnicą, że mamy inny zestaw nazw przestrzeni nazw (czasami bez numerów {{Code|id}} - identyfikatorów tych obsługiwanych przestrzeni nazw, a te podstawowe one je mają, jeżeli da się je powiązać z pierwszą funkcją w drugiej, jedynie w takim przypadku one występują) i można też użyć parametrów dodatkowych, które są niedostępne w pierwszej funkcji, a w drugiej już tak. Dodatkowo on przyjmuje argumenty:
{{OpisParametrów
| 1 = Adres kodowy projektu siostrzanego lub lokalnego polskiego: {{Code|Wikibooks}}:|nagłówek1=tak
| 2 = {{Code|klucz projektu}} | _2 = Kody języka i projektu podana w jednej zmiennej oddzielone od siebie dwukropkami, może być dowolna liczba tych kodów.
| 3 = {{Code|kod projektu}} | _3 = Kod projektu danego wiki.
| 4 = {{Code|kod języka}} | _4 = Kod języka danego wiki.
| 5 = {{Code|po polsku}} |_5 = Tłumaczy nazwę kanoniczną danej przestrzeni nazw na jej wersję polską, tzn. na język polski, a jeżeli jej wersja polska nie istnieje, to pisze jej wersję w języku angielskim, czyli w postaci nazwy kanonicznej.
| 6 = {{Code|awaryjnie}} | _6 = Za pomocą projektu {{NS|l=tak|k=d}} tłumaczy daną nazwę przestrzeni nazw w jednym języku (jej nazwę kanoniczną jakieś przestrzeni nazw) na drugi, gdy wartość jest pusta, to tłumaczy na jej nazwę kanoniczną, jeżeli, przy tym parametrze lub bez, jej wersja w innym danym języku nie istnieje zdefiniowana w module {{m|Nazwy/przestrzenie}}.
| 7 = Parametry: {{Code|nazwij projektem}} i {{Code|nazwij dyskusją projektu}}, używa się tak samo jak dla funkcji: {{m|Nazwy|Np}}, tylko z różnicą, że w funkcji: {{m|Nazwy|NpDane}} musimy skorzystać koniecznie z parametru: {{Code|kanoniczna}}, z wartością niepustą, a wtedy wydrukowane wartości są w postaci wersji kanonicznej w języku angielskim, tak jak z ostatnim szablonem.|nagłówek7=tak
}}
===== Używanie kluczy projektu, kodów projektu i kodów języka =====
Kody nazw piszemy, jak zwykle, z małej litery, co jest zalecane, ale można je pisać z liter o dowolnej wielkości.
====== Użycie różnych kodów i ich równoważność ======
Kody projektu i języka możemy pisać ze względu na dwa sposoby, w zależności jakich zmiennych używamy, możemy pisać tzw. grupę tych kodów w jednej zmiennej, wtedy się liczy ostateczny adres do danego projektu w jakieś wersji językowej, tylko jeden, a nie n-wersji danego języka i m-wersji danego projektu, czyli:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local wynik = nazwy_modul.NpDane{ ..., ["klucz projektu"] = "en:de:w:ru:en:q:pt", ... };
</syntaxhighlight>
* Najważniejsze są kody projektu końcowe, podobnie ma się sprawa z kodami języków, tutaj kodami projektów są: {{Code|w}} ({{NS|l=tak|k=w}}) i {{Code|q}} ({{NS|l=tak|k=q}}), a kodami języków są: {{Code|en}} ({{lpg|{{#invoke:lang|hasło|en}}}}), {{Code|de}} ({{lpg|{{#invoke:lang|hasło|de}}}}), {{Code|ru}} ({{lpg|{{#invoke:lang|hasło|ru}}}}), {{Code|en}} ({{lpg|{{#invoke:lang|hasło|en}}}}) i {{Code|pt}} ({{lpg|{{#invoke:lang|hasło|pt}}}}), czy końcowy kod projektu jest: {{Code|q}} ({{NS|l=tak|k=q}}) i kod języka {{Code|pt}} ({{lpg|{{#invoke:lang|hasło|pt}}}}).
W powyższym przykładzie napisaliśmy mnóstwo kodów w postaci jednej zmiennej, to jest równoważne zapisowi, czyli ostatecznej wersji wspomnianej powyższego zapisu, też zapisaną za pomocą tej samej zmiennej:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local wynik_1 = nazwy_modul.NpDane{ ..., ["klucz projektu"] = "pt:q", ... };
local wynik_2 = nazwy_modul.NpDane{ ..., ["klucz projektu"] = "q:pt", ... };
</syntaxhighlight>
Powyższy wynik rozpisujemy na dwie zmienne, w których podajemy tylko pojedyncze kody, a nie grupy, więc widziemy, ża zamiast podawania jednego parametru z interwiki, to możemy to rozbić na dwa parametry kodu projektu i języka, a nie używać to w jednej zmiennej, należy pamiętać, że w tych kodach, może być jedno interwiki, specjalnie dla projektu lub języka, do którego dana zmienna jest przystosowana:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local wynik = nazwy_modul.NpDane{ ..., ["kod projektu"] = "q", ["kod języka"] = "pt", ... };
</syntaxhighlight>
====== Nazwy wyświetlane przy użyciu tych kodów dla przestrzeni głównej ======
Nazwy bez użycia zmiennej powodujące wyświetlanie nazwy przestrzeni nazw '''głównej''' na różnych projektach w postaci nieprzetłumaczonej na język polski, wtedy uzyskujemy niezależnie od projektu wartość pustą, bo takie jest przedstawienie wartości niewyświetlanej przestrzeni głównej na każdym projekcie obsługujący przestrzenie nazw, czyli:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość równą ciągowi pustemu: "":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "", ["klucz projektu"] = "commons", };
---- Zwraca wartość równą ciągowi pustemu: "":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "", ["kod projektu"] = "commons", };
</syntaxhighlight>
A przy użyciu identyfikatora przestrzeni nazw przestrzeni głównej, wtedy uzyskujemy na wyjściu to samo, co powyżej, czyli wartość pustą, bo wartość {{Code|0}} jest odpowiednikiem przestrzeni głównej, czyli poniższe przykłady są odpowiedniami tych powyższych, czyli te dwa przykład, tak można powiedzieć, że to samo robią:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość równą ciągowi pustemu: "":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 0, ["klucz projektu"] = "commons", };
---- Zwraca wartość równą ciągowi pustemu: "":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = 0, ["kod projektu"] = "commons", };
</syntaxhighlight>
0
Przy użyciu zmiennej generującej wyświetlanie w postaci znaków o charakterze niepustej, wtedy jeżeli nie ma wartości kanonicznej dla danego języka projektu, to wyswietlana jest wartość {{Np|(main)|link=tak|kanoniczna=tak}}, a dla polskigo projektu {{Np|(main)|link=tak}}, a dla innych języków jest nazwa charakterystyczna dla danego języka pod warunkiem, jeżeli doda się tego obsługę, więc tego przykłady przy użyciu zmiennej {{Code|["wyświetlana"] {{=}} "tak"}}, więc:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość nazwy przestrzeni głównej: "(main)":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "", ["klucz projektu"] = "commons", ["wyświetlana"] = "tak", };
---- Zwraca wartość nazwy przestrzeni głównej: "(main)":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "", ["kod projektu"] = "commons", ["wyświetlana"] = "tak", };
</syntaxhighlight>
Przy użyciu identyfikatora przestrzeni nazw przestrzeni głównej, w takim przypadku uzyskujemy to samo co powyżej, tylko jest inaczej, oznaczana jest wtedy przestrzeń główna, dla tego samego projektu siostrzanego, w wersji charakterystycznej dla danego języka, tutaj dla angielskiego:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość nazwy przestrzeni głównej: "(main)":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 0, ["klucz projektu"] = "commons", ["wyświetlana"] = "tak", };
---- Zwraca wartość nazwy przestrzeni głównej: "(main)":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = 0, ["kod projektu"] = "commons", ["wyświetlana"] = "tak", };
</syntaxhighlight>
====== Nazwy wyświetlane przy użyciu tych kodów przetłumaczone je na język polski dla przestrzeni głównej ======
Z wyświetlaniem na ekranie przestrzeni nazw charakteryzujące się ciągiem niepustym mamy podobne wyniki, jak powyżej bez parametry {{Code|["wyświetlana"] {{=}} "tak"}}, tylko nazwa wyświetlana przestrzeni nazw jest po polsku (odpowiednia nazwa w języku polskim), a nie po angielsku (w języku danego projektu):
Przy użyciu zmiennej generującej wyświetlanie w postaci znaków o charakterze niepustej, nazw przestrzeni nazw mający nazwy puste, ale zamienione na nazwy wyświetlane, ale w postaci języka polskiego, używając parametru {{Code|["po polsku"] {{=}} "tak"}}:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość nazwy przestrzeni głównej: "(główna)":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "", ["klucz projektu"] = "commons", ["wyświetlana"] = "tak", ["po polsku"] = "tak", };
---- Zwraca wartość nazwy przestrzeni głównej: "(główna)":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "", ["kod projektu"] = "commons", ["wyświetlana"] = "tak", ["po polsku"] = "tak", };
</syntaxhighlight>
Przy użyciu identyfikatora przestrzeni nazw głównej, czyli dla tej samej przestrzeni nazw, co powyżej, tylko ona jest inaczej oznaczana, to możemy zrobić to samo, co powyżej, tylko nazwa główna przestrzeni nazw jest inaczej zapisana, w postaci numerycznej, wtedy otrzymamy wynik taki sam, jak w powyższym przykładzie, bo w obu używaliśmy takiej samej przestrzeni, tylko różnie przepisaną:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość nazwy przestrzeni głównej: "(główna)":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 0, ["klucz projektu"] = "commons", ["wyświetlana"] = "tak", ["po polsku"] = "tak", };
---- Zwraca wartość nazwy przestrzeni głównej: "(główna)":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = 0, ["kod projektu"] = "commons", ["wyświetlana"] = "tak", ["po polsku"] = "tak", };
</syntaxhighlight>
====== Nazwy wyświetlane przy użyciu tych kodów dla przestrzeni innej niż główna ======
Nazwy bez użycia zmiennej powodujące wyświetlanie nazwy przestrzeni nazw '''niegłównej''' na różnych projektach w postaci nieprzetłumaczonej na język polski, tylko w wersji charakterystucznej dla języka danego projektu używaną w odwołaniu:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość równą ciągowi niepustemu: "Template":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Template", ["klucz projektu"] = "commons", };
---- Zwraca wartość równą ciągowi niepustemu: "Template":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Template", ["kod projektu"] = "commons", };
</syntaxhighlight>
A przy zamianie tej przestrzeni nazw w powyższym przykładzie na numer - identyfikator nazw, czyli {{Code|id}}, to identyfikator przestrzeni nazw, innej niż główna, z jej wersji nazwowej, otrzymamy wynik w postaci nazwy niepustej, bo to nie jest przestrzeń główna, oznaczana zerowy tym identyfikatorem, czyli w postaci tej liczby:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość równą ciągowi niepustemu: "Template":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 10, ["klucz projektu"] = "commons", };
---- Zwraca wartość równą ciągowi niepustemu: "Template":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = 10, ["kod projektu"] = "commons", };
</syntaxhighlight>
Przy użyciu zmiennej generującej wyświetlanie w postaci znaków, o charakterze niepustości, przy użyciu tego parametru, otrzymujemy wynik, jak powyżej, bo nazwa wyświetlana przestrzeni jest od razu niepusta, bo przestrzeni nazw mają wartość niepustą, więc nie trzeba ich uznawać, że są inne:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Template":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Template", ["klucz projektu"] = "commons", ["wyświetlana"] = "tak", };
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Template":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Template", ["kod projektu"] = "commons", ["wyświetlana"] = "tak", };
</syntaxhighlight>
A gdy parametr {{Code|nazwa}} przyjmuje wartość liczbową w postaci identyfikatora {{Code|id}}, innej niż dla przestrzeni głównej, ale zapisaną dla tych samych przestrzeni nazw, jak powyżej, co czyni, że tutaj jest też podobnie, otzrymamy te same wartości, tylko jest inna reprezentacja parametrów wchodzących do funkcji, jak powyżej:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Template":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 10, ["klucz projektu"] = "commons", ["wyświetlana"] = "tak", };
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Template":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = 10, ["kod projektu"] = "commons", ["wyświetlana"] = "tak", };
</syntaxhighlight>
Widzimy, jedynie dla przestrzeni niepustej, że użycie tego parametru, według przykładów powyżej, jest opcjonalne, a nawet zbędne, bo ten parametr w tym przypadku nic nie zmienia, zmienia tylko dla przestrzeni głównej, którego ciąg charakteryzujący tą przestrzeń jest pusty, a jej wersja wyświetlana posiada za to ciąg niepusty, o jej wersji kanonicznej {{Code|{{Np|(main)|link=tak|kanoniczna=tak}}}}, a w wersji polskiej {{Code|{{Np|(main)|link=tak}}}}, te nazwy można pomiędzy sobą tłumaczyć za pomocą funkcji {{m|Nazwy|NpDane}} lub szablonu {{s|NpDane}}.
====== Nazwy wyświetlane przy użyciu tych kodów przetłumaczone je na język polski dla przestrzeni innej niż główna ======
Z wyświetlaniem na ekranie przestrzeni nazw charakteryzujące ciągiem niepustym mamy podobne wyniki jak powyżej bez parametru {{Code|["wyświetlana"] {{=}} "tak"}}:
Przy użyciu zmiennej generującej wyświetlanie w postaci znaków o charakterze niepustej przetłumaczonej na język polski, używając parametrów w postaci pewnych nazw niepusstych, dla projektów innych niż wq języku polskim, ale te przestrzenie nazw tłumaczymyna ich odpowiedniki polskie, jakie istnieją, na projektach właśnie, że polskich:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Szablon":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Template", ["klucz projektu"] = "commons", ["po polsku"] = "tak", };
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Szablon":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Template", ["kod projektu"] = "commons", ["po polsku"] = "tak", };
</syntaxhighlight>
Albo przy użyciu numeru {{Code|id}} (identyfikatora przestrzeni nazw), wtedy właśnie robimy to samo, co powyżej, tylko jest inna reprezentacja parametrów, ale ta sama przestrzeń, więc uzyskujemy te same wyniki, czyli o tej samej wartości, mimo, że wizulanie,a by inne parametry:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Szablon":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 10, ["klucz projektu"] = "commons", ["po polsku"] = "tak", };
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Szablon":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = 10, ["kod projektu"] = "commons", ["po polsku"] = "tak", };
</syntaxhighlight>
Przy użyciu zmiennej generującej wyświetlanie, użzywając parametru wspoianego powyżej, w postaci znaków o charakterze niepustej przy użyciu tego parametru, co sugeruje, że ten argiment nic nie zmienia, ale jedynie wyświetla się to samo, co bez tego parametru:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Szablon":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Template", ["klucz projektu"] = "commons", ["wyświetlana"] = "tak", ["po polsku"] = "tak", };
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Szablon":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Template", ["kod projektu"] = "commons", ["wyświetlana"] = "tak", ["po polsku"] = "tak", };
</syntaxhighlight>
A tutaj przy użyciu identyfikatora przestrzeni nazw przestrzeni nazw niegłównej, czyli przestrzeni nazw charakteryzującej się jej wersją niewyświetlaną niepustą, z tymi samymi parametrami, co powyżej, z tymi samymi wartościami, tylko jest inna reprezentacja przestrzeni nazw:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Szablon":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 10, ["klucz projektu"] = "commons", ["wyświetlana"] = "tak", ["po polsku"] = "tak", };
---- Zwraca wartość równą nazwie przestrzeni niegłównej: "Szablon":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = 10, ["kod projektu"] = "commons", ["wyświetlana"] = "tak", ["po polsku"] = "tak", };
</syntaxhighlight>
Widzimy, jedynie dla tej przestrzeni, że użycie wspomnianego tego parametru jest opcjonalne, bo nic w tym przypadki nie zmienia, bo przestrzeń nazw nie jest pusta, lub nie jest reprezentowana inaczej, niż przez liczbę {{Code|0}}.
===== Tłumaczenie nazw przestrzeni nazw z jednego języka na drugi =====
====== Tłumaczenie nazw obcojęzycznych nazw przestrzeni nazw na jej wersję polską, tzn. jej język polski, i na język angielski, tzn. jej wersje angielską w postaci nazwy kanonicznej, albo identyfikator przestrzeni nazw lub operację przeciwną ======
Tłumaczenie na nazwę kanoniczną w języku angielskim, z nazwy polskiej, czy nazwy w innym języku, tutaj w języku polskim, w jakim ona jest jedynie dostępna, przy użyciu parametru {{Code|kanoniczna {{=}} "tak"}}:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Szablon", ["klucz projektu"] = "pl:w", kanoniczna = "tak", };
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Szablon", ["kod projektu"] = "w", ["kod języka"] = "pl", kanoniczna = "tak", };
</syntaxhighlight>
Tłumaczenie identyfikatora przestrzeni nazw na nazwę kanoniczną, ale przestrzeni nazw są te same, co powyżej, tylko zamiast przestrzeni nazw: "Szablon", mamy to jej idenntyfiator, którym jest liczba: {{Code|10}}, wtedy otrzymamy te same wyniki, co powyżej:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 10, ["klucz projektu"] = "pl:w", kanoniczna = "tak", };
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = 10, ["kod projektu"] = "w", ["kod języka"] = "pl", kanoniczna = "tak", };
</syntaxhighlight>
Przypadek odwrotny, do poprzednich, dla tego samego projektu, gdy nie używamy tego parametru, ale przestrzenie nazw są tym razem po angielsku, jako nazwy kanoniczne, które są zamieniane na jej wersją charakterystyczną dla danego projektu, tutaj polską:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Template", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Template", ["kod projektu"] = "w", ["kod języka"] = "pl", };
</syntaxhighlight>
Identyfikator przestrzeni nazw tłumaczymy na jego nazwę polską - ewentualnie, na wersję języka projektu, i dlatego tutaj używamy języka polskiego, ponieważ mamy do czynienia z projektem polskojęzycznym, bo kod języka projektu wskazuje tutaj na ten język:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 10, ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = 10, ["kod projektu"] = "w", ["kod języka"] = "pl", };
</syntaxhighlight>
====== Tłumaczenie nazw przestrzeni na jej wersję w innych języku w jakikolwiek projekcie ======
Do tłumaczenia używamy parametru {{Code|awaryjnie}}, której użycie w funkcji {{m|Nazwy|NpDane}}, powoduje skorzystanie z bazy danym projektów {{Code|MediaWiki}}, czyli {{Code|{{NS|l=tak|w=tak|k=en:d|jw=tak}}}} (po angielsku), a inaczej {{Code|{{NS|l=tak|w=tak|k=d}}}} (po polsku):
* Przy użyciu nazw przestrzeni nazw w postaci, nie identyfikatorów, nazwanej łańcuchem znaków,możemy daną przestrzeń przetłomaczyć na dany język, nie używając przy tym żadnych stron: {{Code|.json}}, w podstronach modułu {{Code|{{m|Nazwy/}}}}:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Kategorie", ["klucz projektu"] = "de:w", awaryjnie = "tak", kanoniczna = "tak", };
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Category", ["klucz projektu"] = "de:w", awaryjnie = "tak", };
local nazwa_przestrzeni_nazw_3 = nazwy_modul.NpDane{ nazwa = "Категория", ["klucz projektu"] = "ru:w", awaryjnie = "tak", kanoniczna = "tak", };
local nazwa_przestrzeni_nazw_4 = nazwy_modul.NpDane{ nazwa = "Category", ["klucz projektu"] = "ru:w", awaryjnie = "tak", };
</syntaxhighlight>
* Jako z ich wersją numeryczną, czyli w postaci identyfikatorów, nazwanej w postaci pewnego numeru, ale przestrzenie nazw są te same, co powyżej, tylko inaczej zapisane, a inne parametry są takie same, czyli z czterech przykładów generują się jedynie dwa, ale wyniki są te same:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 14, ["klucz projektu"] = "de:w", awaryjnie = "tak", };
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa 14, ["klucz projektu"] = "ru:w", awaryjnie = "tak", };
</syntaxhighlight>
Przykłady tłumaczenia z jednej wersji językowej w danym języku na angielski (wersję kanoniczną) i odwrotnie
# {{Code|{{s|NpDane|Kategorie|klucz projektu{{=}}de:w|awaryjnie{{=}}tak|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|Kategorie|klucz projektu=de:w|awaryjnie=tak|kanoniczna=tak}}}}
# {{Code|{{s|NpDane|Category|klucz projektu{{=}}de:w|awaryjnie{{=}}tak}}}} → {{Tt|{{NpDane|Category|klucz projektu=de:w|awaryjnie=tak}}}}
# {{Code|{{s|NpDane|Категория|klucz projektu{{=}}ru:w|awaryjnie{{=}}tak|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|Категория|klucz projektu=ru:w|awaryjnie=tak|kanoniczna=tak}}}}
# {{Code|{{s|NpDane|Category|klucz projektu{{=}}ru:w|awaryjnie{{=}}tak}}}} → {{Tt|{{NpDane|Category|klucz projektu=ru:w|awaryjnie=tak}}}}
Przykłady przy użyciu identyfikatorów:
# {{Code|{{s|NpDane|14|klucz projektu{{=}}de:w|awaryjnie{{=}}tak}}}} → {{Tt|{{NpDane|Category|klucz projektu=de:w|awaryjnie=tak}}}}
# {{Code|{{s|NpDane|14|klucz projektu{{=}}ru:w|awaryjnie{{=}}tak}}}} → {{Tt|{{NpDane|Category|klucz projektu=ru:w|awaryjnie=tak}}}}
===== Użycie parametru {{Code|link}} oraz zależność od projektu i języka, wyświetlanie nazw przestrzeni nazw po polsku =====
Przykłady poniżej i niektóre wywołania funkcji {{m|Nazwy|NpDane}} piszemy przy pomocy parametru {{Code|link}}, który posiłkujemy z {{Code|klucz projektu}}, przykładowo z pomożeniem użycia zmiennej {{Code|po polsku}}, ewentualnie z użyciem argumentu {{Code|kanoniczna}}, co powoduje wyświetlanie się linku do pewnej strony naa tym samym projekcie lub innym,a jeśli mamy nazwę kanoniczną, to otrzymamy w linku nazwę linku właśnie że wyświetlaną, np. w postaci: {{Np|(main)|link=tak}}:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Szablon", link = "tak", ["klucz projektu"] = "pl:w", };
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Szablon", link = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
local nazwa_przestrzeni_nazw_3 = nazwy_modul.NpDane{ nazwa = "Template", link = "tak", ["klucz projektu"] = "en:w", ["po polsku"] = "tak", };
---- Tutaj nazwa przestrzeni zostanie wyświetlona, jako nazwa linku, po angielsku, czyli w wersji kanonicznej
local nazwa_przestrzeni_nazw_4 = nazwy_modul.NpDane{ nazwa = "Template", link = "tak", kanoniczna = "tak", ["klucz projektu"] = "en:w", ["po polsku"] = "tak", };
local nazwa_przestrzeni_nazw_5 = nazwy_modul.NpDane{ nazwa = "", link = "tak", ["klucz projektu"] = "en:w", };
local nazwa_przestrzeni_nazw_6 = nazwy_modul.NpDane{ nazwa = "", link = "tak", kanoniczna = "tak", ["klucz projektu"] = "en:w", };
local nazwa_przestrzeni_nazw_7 = nazwy_modul.NpDane{ nazwa = "", link = "tak", ["klucz projektu"] = "en:w", ["po polsku"] = "tak", };
---- Tutaj nazwa przestrzeni zostanie wyświetlona, jako nazwa linku, po angielsku, czyli w wersji kanonicznej
local nazwa_przestrzeni_nazw_8 = nazwy_modul.NpDane{ nazwa = "", link = "tak", kanoniczna = "tak", ["klucz projektu"] = "en:w", ["po polsku"] = "tak", };
</syntaxhighlight>
Teraz będziemy, to robili przy użyciu identyfikatorów przestrzeni nazw, który będziemy tłumaczyć na jego wersję charakterystyczną dla danego projektu, nazwę kanoniczną lub na jego odpowiednik polski, ale mamy te same przykłady, co powyżej, bo te same przestrzenie nazw, tylko z tą różnicą, że ona jest inaczej zapisana, więc otrzymamy te same wyniki, więc:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = 10, link = "tak", ["klucz projektu"] = "pl:w", };
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = 10, link = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
local nazwa_przestrzeni_nazw_3 = nazwy_modul.NpDane{ nazwa = 10, link = "tak", ["klucz projektu"] = "en:w", ["po polsku"] = "tak", };
---- Tutaj nazwa przestrzeni zostanie wyświetlona, jako nazwa linku, po angielsku, czyli w wersji kanonicznej
local nazwa_przestrzeni_nazw_4 = nazwy_modul.NpDane{ nazwa = 10, link = "tak", kanoniczna = "tak", ["klucz projektu"] = "en:w", ["po polsku"] = "tak", };
local nazwa_przestrzeni_nazw_5 = nazwy_modul.NpDane{ nazwa = 0, link = "tak", ["klucz projektu"] = "en:w", };
local nazwa_przestrzeni_nazw_6 = nazwy_modul.NpDane{ nazwa = 0, link = "tak", kanoniczna = "tak", ["klucz projektu"] = "en:w", };
local nazwa_przestrzeni_nazw_7 = nazwy_modul.NpDane{ nazwa = 0, link = "tak", ["klucz projektu"] = "en:w", ["po polsku"] = "tak", };
---- Tutaj nazwa przestrzeni zostanie wyświetlona, jako nazwa linku, po angielsku, czyli w wersji kanonicznej
local nazwa_przestrzeni_nazw_8 = nazwy_modul.NpDane{ nazwa = 0, link = "tak", kanoniczna = "tak", ["klucz projektu"] = "en:w", ["po polsku"] = "tak", };
</syntaxhighlight>
----
Przykłady funkcji w wyniku są:
# {{Code|{{s|NpDane|nazwa{{=}}Szablon|link{{=}}tak|klucz projektu{{=}}pl:w}}}} → {{Tt|{{NpDane|nazwa=Szablon|link=tak|klucz projektu=pl:w}}}}
# {{Code|{{s|NpDane|nazwa{{=}}Szablon|link{{=}}tak|klucz projektu{{=}}pl:w|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=Szablon|link=tak|klucz projektu=pl:w|kanoniczna=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}|link{{=}}tak|klucz projektu{{=}}pl:w}}}} → {{Tt|{{NpDane|nazwa=|link=tak|klucz projektu=pl:w}}}}
# {{Code|{{s|NpDane|nazwa{{=}}|link{{=}}tak|klucz projektu{{=}}pl:w|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=|link=tak|klucz projektu=pl:w|kanoniczna=tak}}}}
Gdy parametr {{Code|nazwa}} jest liczbą, odpowiedniki tych samych przykładów, co powyżej, tylko przestrzeń nazw jest w postaci numerycznej:
# {{Code|{{s|NpDane|nazwa{{=}}10|link{{=}}tak|klucz projektu{{=}}pl:w}}}} → {{Tt|{{NpDane|nazwa=10|link=tak|klucz projektu=pl:w}}}}
# {{Code|{{s|NpDane|nazwa{{=}}10|link{{=}}tak|klucz projektu{{=}}pl:w|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=10|link=tak|klucz projektu=pl:w|kanoniczna=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}0|link{{=}}tak|klucz projektu{{=}}pl:w}}}} → {{Tt|{{NpDane|nazwa=0|link=tak|klucz projektu=pl:w}}}}
# {{Code|{{s|NpDane|nazwa{{=}}0|link{{=}}tak|klucz projektu{{=}}pl:w|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=0|link=tak|klucz projektu=pl:w|kanoniczna=tak}}}}
----
----
Inne przykłady, projektu niepolskiego, ale mającej jego wersje polską:
# {{Code|{{s|NpDane|nazwa{{=}}Template|link{{=}}tak|klucz projektu{{=}}en:w|po polsku{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=Template|link=tak|klucz projektu=en:w|po polsku=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}Template|link{{=}}tak|klucz projektu{{=}}en:w|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=Template|link=tak|klucz projektu=en:w|kanoniczna=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}|link{{=}}tak|klucz projektu{{=}}en:w|po polsku{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=|link=tak|klucz projektu=en:w|po polsku=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}|link{{=}}tak|klucz projektu{{=}}en:w|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=|link=tak|klucz projektu=pl:w|kanoniczna=tak}}}}
Gdy parametr {{Code|nazwa}} jest liczbą, odpowiedniki przykładów powyższych z innym przedstawieniem przestrzeni nazw:
# {{Code|{{s|NpDane|nazwa{{=}}10|link{{=}}tak|klucz projektu{{=}}en:w|po polsku{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=10|link=tak|klucz projektu=en:w|po polsku=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}10|link{{=}}tak|klucz projektu{{=}}en:w|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=10|link=tak|klucz projektu=en:w|kanoniczna=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}0|link{{=}}tak|klucz projektu{{=}}en:w|po polsku{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=0|link=tak|klucz projektu=en:w|po polsku=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}0|link{{=}}tak|klucz projektu{{=}}en:w|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=0|link=tak|klucz projektu=pl:w|kanoniczna=tak}}}}
----
----
A dla projektu niemającej wersji polskiej, np. tylko wersję angielską:
# {{Code|{{s|NpDane|nazwa{{=}}Template|link{{=}}tak|klucz projektu{{=}}commons|po polsku{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=Template|link=tak|klucz projektu=commons|po polsku=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}Template|link{{=}}tak|klucz projektu{{=}}commons|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=Template|link=tak|klucz projektu=commons|kanoniczna=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}|link{{=}}tak|klucz projektu{{=}}commons|po polsku{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=|link=tak|klucz projektu=commons|po polsku=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}|link{{=}}tak|klucz projektu{{=}}commons|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=|link=tak|klucz projektu=commons|kanoniczna=tak}}}}
Gdy parametr {{Code|nazwa}} jest liczbą, wtedy mamy te same przykłady, co powyżej, tylko ta sama przestrzeń nazw jest w innej postaci przedstawiona:
# {{Code|{{s|NpDane|nazwa{{=}}10|link{{=}}tak|klucz projektu{{=}}commons|po polsku{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=10|link=tak|klucz projektu=commons|po polsku=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}10|link{{=}}tak|klucz projektu{{=}}commons|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=10|link=tak|klucz projektu=commons|kanoniczna=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}0|link{{=}}tak|klucz projektu{{=}}commons|po polsku{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=0|link=tak|klucz projektu=commons|po polsku=tak}}}}
# {{Code|{{s|NpDane|nazwa{{=}}0|link{{=}}tak|klucz projektu{{=}}commons|kanoniczna{{=}}tak}}}} → {{Tt|{{NpDane|nazwa=0|link=tak|klucz projektu=commons|kanoniczna=tak}}}}
===== Zamiana przestrzeni nazw przedmiotowej na dyskusji lub przeciwnie, i transformacje tożsame =====
* Używać tu będziemy dodatkowo parametrów: {{Code|przedmiotowa}} - zamiany przestrzeni nazw na przedmiotową, czy: {{Code|dyskusja}} - na dyskusji.
Można też przechodzić z tej samej przestrzeni nazw w nią samą, lub do niego skojarzonej, tzn. z przedmiotowej do dyskusji lub odwrotnie, wtedy w tym przypadku otrzymujemy nazwę po polsku, dla poskich projektów, dla projektów w danym języku, na nazwę w danym języku, przykłady:
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Gdy nazwą przestrzeni jest nazwa niekanoniczna:
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_1 = nazwy_modul.NpDane{ nazwa = "Dyskusja szablonu", przedmiotowa = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_1 = nazwy_modul.NpDane{ nazwa = "Szablon", dyskusja = "tak", ["klucz projektu"] = "pl:w", };
-- Gdy nazwą przestrzeni jest nazwa kanoniczna
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_2 = nazwy_modul.NpDane{ nazwa = "Template talk", przedmiotowa = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_2 = nazwy_modul.NpDane{ nazwa = "Template", dyskusja = "tak", ["klucz projektu"] = "pl:w", };
-- Gdy prrzestrzeń nazw jest w postaci jej numeru id
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_3 = nazwy_modul.NpDane{ nazwa = 11, przedmiotowa = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_3 = nazwy_modul.NpDane{ nazwa = 10, dyskusja = "tak", ["klucz projektu"] = "pl:w", };
</syntaxhighlight>
Gdy użyjemy dodatkowo parametr {{Code|kanoniczna}}, wtedy otrzymujemy te nazwy w postaci nazwy w języku angielskim (kanoniczne) tych przestrzeni nazw, są te same przykłady, co powyżej, tylko jest inna wersja językowa w wyniku tej samej otrzymanej przestrzeni nazw:
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Gdy nazwą przestrzeni jest nazwa niekanoniczna:
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_przedmotowej_1 = nazwy_modul.NpDane{ nazwa = "Dyskusja szablonu", przedmiotowa = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_1 = nazwy_modul.NpDane{ nazwa = "Szablon", dyskusja = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w",
-- Gdy nazwą przestrzeni jest nazwa kanoniczna:
---- Zwraca wartość: Template":
local nazwa_przestrzeni_przedmotowej_2 = nazwy_modul.NpDane{ nazwa = "Template talk", przedmiotowa = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_2 = nazwy_modul.NpDane{ nazwa = "Template", dyskusja = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
-- Gdy przestrzeń nazw jest w postaci jej numeru id:
---- Zwraca wartość: ""Template":
local nazwa_przestrzeni_przedmotowej_3 = nazwy_modul.NpDane{ nazwa = 11, przedmiotowa = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_3 = nazwy_modul.NpDane{ nazwa = 10, dyskusja = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
</syntaxhighlight>
Przejście z tej samej przestrzeni na tą samą możemy uzyskać to wtedy, tzw. przejście tożsamościowe, poprzez tłumaczenie nazw dyskusji na dysusji, i nazw przedmiotowych na przedmiotowe, dla róznych projektów, nie tylko polskich, a tutaj mamy dla języka polskiego, tylko repezentacja językowa może być inna, tutaj jest ta polska (w wersji niekanonicznej) i angielska (w wersji kanonicznej):
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Gdy nazwą przestrzeni jest nazwa niekanoniczna, gdy w ty przypadku chcemy uzyskać nazwę charakterystyczną dla danego języka danego projektu:
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_1 = nazwy_modul.NpDane{ nazwa = "Szablon", przedmiotowa = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_1 = nazwy_modul.NpDane{ nazwa = "Dyskusja szablonu", dyskusja = "tak", ["klucz projektu"] = "pl:w", };
-- Gdy nazwą przestrzeni jest nazwą kanoniczną:
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_2 = nazwy_modul.NpDane{ nazwa = "Template", przedmiotowa = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_2 = nazwy_modul.NpDane{ nazwa = "Template talk", dyskusja = "tak", ["klucz projektu"] = "pl:w", };
-- Gdy przestrzeń nazw jest w postaci jej numeru id:
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_przedmotowej_3 = nazwy_modul.NpDane{ nazwa = 10, przedmiotowa = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Dyskusja szablonu":
local nazwa_przestrzeni_dyskusji_3 = nazwy_modul.NpDane{ nazwa = 11, dyskusja = "tak", ["klucz projektu"] = "pl:w", };
</syntaxhighlight>
Gdy użyjemy dodatkowo parametr {{Code|kanoniczna}}, uzyskamy nazwę angielską danej przestrzeni nazw, nawet gdy to jest przestrzeń podana w języku polskim, dla polskiego projektu, lub w jezyku charakterystycznym dla danego projektu, jeżeli mamy to w bazie przestrzeni nazw w formie pliku {{Code|.json}}, podane w podstronach modułu {{m|Nazwy/}}, to te nazwy wtedy obsługuje:
<syntaxhighlight lang="lua">
local nazwy_modul = require("Module:Nazwy");
-- Gdy nazwą przestrzeni jest nazwą niekanoniczną:
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_przedmotowej_1 = nazwy_modul.NpDane{ nazwa = "Szablon", przedmiotowa = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_1 = nazwy_modul.NpDane{ nazwa = "Dyskusja szablonu", dyskusja = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
-- Gdy nazwą przestrzeni jest nazwą kanoniczną:
---- Zwraca wartość: Template":
local nazwa_przestrzeni_przedmotowej_2 = nazwy_modul.NpDane{ nazwa = "Template", przedmiotowa = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_2 = nazwy_modul.NpDane{ nazwa = "Template talk", dyskusja = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
-- Gdy przestrzeń nazw jest w postaci jej numeru id:
---- Zwraca wartość: "Template":
local nazwa_przestrzeni_przedmotowej_3 = nazwy_modul.NpDane{ nazwa = 10, przedmiotowa = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", }
---- Zwraca wartość: "Template talk":
local nazwa_przestrzeni_dyskusji_3 = nazwy_modul.NpDane{ nazwa = 11, dyskusja = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
</syntaxhighlight>
===== Nazwy przestrzeni z myślnikami dolnymi =====
Jeżeli nazwy danych przestrzeni, niezależnie, czy są w postaci niekanonicznej, czy nie, ale jeżeli w nazwie zawierają spację, to one jako w wyniku zamiast nich będą miały dolny myślnik zamiast spacji, gdy użyjemy parametru: {{Code|["z myślnikami dolnymi"] {{=}} "tak"}}, czyli:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Dyskusja_szablonu":
local nazwa_przestrzeni_1 = nazwy_modul.NpDane{ nazwa = "Dyskusja szablonu", ["z myślnikami dolnymi"] = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Dyskusja_szablonu":
local nazwa_przestrzeni_2 = nazwy_modul.NpDane{ nazwa = "Template talk", ["z myślnikami dolnymi"] = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Template_talk";:
local nazwa_przestrzeni_3 = nazwy_modul.NpDane{ nazwa = "Dyskusja szablonu", kanoniczna = "tak", ["z myślnikami dolnymi"] = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Template_talk":
local nazwa_przestrzeni_4 = nazwy_modul.NpDane{ nazwa = "Template talk", kanoniczna = "tak", ["z myślnikami dolnymi"] = "tak", ["klucz projektu"] = "pl:w", };
</syntaxhighlight>
===== Uzyskiwanie kanonicznej nazwy projektu, nazwy przedmiotowej i jej dyskusji, z jej odpowiednika nazwy przestrzeni nazw =====
Dla przestrzeni nazw: {{NpDane|Wikipedia|link=tak|klucz projektu=pl:w}}, jej nazwy projektowej: {{NpDane|Wikipedia|link=tak|kanoniczna=tak|nazwij projektem=tak|klucz projektu=pl:w}} możemy uzyskać, gdy dla funkcji {{m|Nazwy|NpDane}} podamy parametr: {{Code|["nazwij projektem"] {{=}} "tak"}}, dla przestrzeni przedmiotowej lub dyskusji: {{NpDane|Wikipedia talk|link=tak|klucz projektu=pl:w}}, jej nazwy projektowej: {{NpDane|Wikipedia talk|link=tak|kanoniczna=tak|nazwij dyskusją projektu=tak|klucz projektu=pl:w}}, gdy podamy parametr {{Code|["nazwij dyskusją projektu"] {{=}} "tak"}}, czyli:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Wikipedia":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Wikipedia", ["nazwij projektem"] = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Project":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Wikipedia", ["nazwij projektem"] = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Project":
local nazwa_przestrzeni_nazw_3 = nazwy_modul.NpDane{ nazwa = "Dyskusja Wikipedii", ["nazwij projektem"] = "tak", przedmiotowa = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Dyskusja Wikipedii":
local nazwa_przestrzeni_nazw_4 = nazwy_modul.NpDane{ nazwa = "Wikipedia", ["nazwij dyskusją projektu"] = "tak", dyskusja = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Project talk":
local nazwa_przestrzeni_nazw_5 = nazwy_modul.NpDane{ nazwa = "Dyskusja Wikipedii", ["nazwij dyskusją projektu"] = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Project talk":
local nazwa_przestrzeni_nazw_6 = nazwy_modul.NpDane{ nazwa = "Wikipedia", ["nazwij dyskusją projektu"] = "tak", dyskusja = "tak", kanoniczna = "tak", ["klucz projektu"] = "pl:w", };
</syntaxhighlight>
===== Różne wersje sprawdzania istnienia przestrzeni nazw =====
====== Sprawdzanie, czy dana przestrzeń jest poprawnie podane, czy istnieje ======
Możemy sprawdzić, istnienie podanej przestrzeni nazw poprzez użycie parametru {{Code|istnieje}} z wartością niepustą, wtedy dla obu jej wartości uzyskujemy wyniki, wskazujać, czy istnieją przestrzenie nazw istniejące i które nie mają prawa istnieć z racji bytu, w pierwszym przypadku otrzymamy treściwy wynik, a w drugim komunikatro błędzie:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Szablon", istnieje = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Moja przestrzeń":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Moja przestrzeń", istnieje = "", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "(błąd)":
local nazwa_przestrzeni_nazw_3 = nazwy_modul.NpDane{ nazwa = "Moja przestrzeń", istnieje = "tak", ["klucz projektu"] = "pl:w", };
</syntaxhighlight>
Gdy dana przestrzeń nie istnieje przy użyciu wartości niepustej parametru {{Code|istnieje}}, wtedy otrzymujemy błąd funkcji w postaci tekstu {{Code|(błąd)}}, a gdy nie podamy tego parametru, to otrzymamy nazwę sformatowaną danej nieznanej przestrzeni nazw po usunięciu wszystkich spacji lub dolnych myślników na początku i końcu ciągu oraz zbędnych wewnątrz tego ciągu i zastąpieniu ich kolejnych jedną spacją. A gdy jednak przestrzeń nazw istnieje, to funkcja zachowuje się tak, jakby nie podano tego parametru.
====== Łatwe sprawdzanie istnienia danej przestrzeni nazw ======
Sprawdzamy tutaj istnienie podanej przestrzeni nazw w parserach wikikodu {{Code|MediaWiki}}, wtedy dla nieistniejącej przestrzeni nazw otrrzymamy wynik pusty, a dla istniejącej już nie, wyjątkiem jest przestrzeń główna, dla której wartość otrzymana jest pusta, co nie trudno jest odróżnić od stanu błędu funkcji, chyba, że użyjemy pewnego parametru opisywanego poniżej:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Zwraca wartość: "Szablon":
local nazwa_przestrzeni_nazw_1 = nazwy_modul.NpDane{ nazwa = "Szablon", istnieje = "tak", ["wynik błędu nietekstowy"] = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: "Moja przestrzeń":
local nazwa_przestrzeni_nazw_2 = nazwy_modul.NpDane{ nazwa = "Moja przestrzeń", istnieje = "", ["wynik błędu nietekstowy"] = "tak", ["klucz projektu"] = "pl:w", };
---- Zwraca wartość: nil:
local nazwa_przestrzeni_nazw_3 = nazwy_modul.NpDane{ nazwa = "Moja przestrzeń", istnieje = "tak", ["wynik błędu nietekstowy"] = "tak", ["klucz projektu"] = "pl:w", };
</syntaxhighlight>
W kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} powyższe wywołanie przy nieznanych przestrzeniach przyjmuje wartość {{Code|nil}} (ostatni przykład), a wikikodzie w szablonach wartość pustą: "".
A jeżeli chcemy sprawdzić, za pomocą funkcji parsera wikikodu: {{Code|{{s|#if:coś|wtedy|przeciwnie}}}}, używając odpowiednika szablonowego {{s|NpDane}}, wtedy musimy użyć parametru: {{Code|["wynik błędu nietekstowy"] {{=}} "tak"}}, używany z: {{Code|istnieje {{=}} "tak"}}, gdy dana przestrzeń nie istnieje, wtedy uzyskamy wartość pustą (bo wartość {{Code|nil}} jest tłumaczone na to), a żeby odróżnić ją od nazwy przestrzeni nazw głównej, to należy dodatkowo użyć: {{Code|["wyświetlana"] {{=}} "tak"}}, wtedy dla wartości pustej tej nazwy przestrzeni nazw, uzyskujemy w wyniku czego nie wartość pustą, czyli: {{Code|(główna)}} dla projektów polskich, lub po użyciu parametru {{Code|["po polsku"] {{=}} "tak"}} z wartością niepustą albo {{Code|(main)}} dla przestrzeni angielskich bądź innych, gdy nie ma obsługi w bazie przestrzeni nazw, tę nazwę można uzyskać też przy parametrze {{Code|kanoniczna {{=}} "tak"}} dla każdego obsługiwanego projektu {{Strong|wiki}}, więc przy takich realiach łatwo to odróżnić od komunikatu błędu tej funkcji.
===== Uzyskiwanie uchwytu danej przestrzeni nazw, analogicznie do funkcji {{Code|mw.site.namespaces}} (ale w sposób inny sformułowana), ale też z innym zestawem parametrów =====
Uchwyt niskopoziomowy do danej przestrzeni nazw nie można uzyskać przy pomocy kodu z: {{Code|mw.site.namespaces}}, ponieważ jest on dla przestrzeni na bieżącym projekcie, a tutaj mamy siostrzany.
Funkcja uzyskująca uchwyt ignoruje wielkość liter w przestrzeni nazw oraz powtórzone odstępy zrealizowane za pomocą spacji lub dolnych myślników.
To wysokopoziomowe uzyskanie uchwytu można utworzyć przy pomocy parametru: {{Code|uchwyt}}:
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local uchwyt_1 = nazwy_modul.NpDane{ nazwa = "Szablon", uchwyt = "tak", ["klucz projektu"] = "pl:w", };
local uchwyt_2 = nazwy_modul.NpDane{ nazwa = "Template", uchwyt = "tak", ["klucz projektu"] = "pl:w", };
local uchwyt_3 = nazwy_modul.NpDane{ nazwa = 10, uchwyt = "tak", ["klucz projektu"] = "pl:w", };
</syntaxhighlight>
Funkcja {{Code|nazwy_modul.NpDane}} jest bardziej ogólniejsza niż {{Code|mw.site.namespaces}} na projekcie bieżącym, ponieważ ona uwzględnia inne projekty niż polski {{NS|l=tak|w=tak}}, bo uwzględnia większą liczbę nazw przestrzeni nazw, czyli ona obejmuje wszystkie znane przestrzenie nazw, i dlatego należy stosować tę funkcję, a nie dedykowaną tabelę z połączoną z metatabelką za pomocą funkcji {{lpg|Lua}}.
== Funkcje nazw serwisowych projektów siostrzanych polskiego {{NS|w=tak|l=tak|pk=d}} ==
=== {{Śródtytuł|m.NAZWASERWISU}}{{Code|m.NAZWASERWISU}} ===
==== Odpowiednik szablonowy ====
Odpowiednik szablonowy jest pod nazwą {{s|NAZWASERWISU}} (skrót: {{s|NS}}). Jego parametry są podobne do jego wersji bibliotecznej.
Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
==== Funkcja biblioteczna ====
Szablon jest używany do uzyskania nazwy serwisu danej wiki, ewentualnie w postaci linku do strony głównej projektu danej wiki lub do artykułu o danej wiki na {{lpg|Wikipedia|Wikipedii}}, w jakieś podanej wersji językowej.
{{OpisParametrów
| 1 = Parametry podstawowe:| nagłówek1=tak
| 2 = {{Parametr|wyspecjalizowana|tak}} | _2 = Tylko dla tej funkcji wywołanej w postaci ramki w wikikodzie w szablonach, gdy do niej wsadzamy bezpośrednio jako dzieci, a w przypadku z rodzica to ten parametr jest niepotrzebny lub powinien przyjmować wartość pustą,
| 3 = Inne parametry:| nagłówek3=tak
| 4 = Ta funkcja dalsze ma takie same parametry, co szablon w jego pełnej nazwie: {{s|NAZWASERWISU}}, lub skrótowej: {{s|NS}}.|komórka4=tak
| 5 = Wszystkie powyższe zmienne są opcjonalne|nagłówek5=tak
}}
===== Opis parametrów użytych razem z parametrem {{Code|link}} =====
Szablon przyjmuje parametr opcjonalny {{Code|link}} ({{s|NS|l{{=}}tak}}), dzięki któremu jest wyświetlany link, do strony głównej tego projektu, w postaci: {{Code|{{NS|l=tak}}}}, o nazwie linku, będącą jednocześnie nazwą serwisu projektu '''{{NS|l=tak}}'''. Gdy dodamy parametr {{Code|wikipedia{{=}}tak}} do wywołania {{Code|{{s|NS|l{{=}}tak|w{{=}}tak}}}}, wtedy uzyskamy wynik: {{Code|{{NS|l=tak|w=tak}}}}, w innym przypadku, gdy linkujemy do angielskiej {{NS|w=tak|l=tak|pk=mj|k=tak}}, wtedy dla wywołania {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|kj{{=}}en}}}} mamy: {{Code|{{NS|l=tak|w=tak|kj=en}}}}, a w przypadku angielskiego {{NS|w=tak|l=tak|pk=d}} dla wikikodu {{Code|{{s|NS|l{{=}}tak|kj{{=}}en}}}} mamy wynik w postaci: {{Code|{{NS|l=tak|kj=en}}}}, a jeśli użyjemy parametru {{Code|kod projektu}}, wtedy wywołanie {{Code|{{s|NS|link{{=}}tak|kp{{=}}s}}}}, to mamy: {{Code|{{NS|l=tak|kp=s}}}}, a gdy dodamy dodatkowo {{Code|wikipedia{{=}}tak}}, zatem {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|kp{{=}}s}}}} jest o wyniku: {{Code|{{NS|l=tak|w=tak|kp=s}}}}.
{{OpisParametrów
| 1 = Wyniki z parametrem: {{Parametr|link|tak}}, zostały obtoczone znacznikiem: {{Tag|code}}, dla odróżnienia rezultatu od reszty tekstu.|nagłówek1=tak
}}
===== Wywołania szablonu z tekstem z małymi literami po linku (parametr: {{Code|po}}) i z dowolnym tekstem w nazwie linku (parametr: {{Code|za}}) =====
{{OpisParametrów
| 1 = Parametr: {{Parametr|link|tak}}, w szablonie: {{s|NAZWASERWISU}}, mówi, że ma być podany link do strony głównej projektu lub artykułu na {{NS|l=tak|k=w}}. Można w nie podać parametr: {{Parametr|po|<łańcuch tekstowy>}}, który jest za linkiem, podobnie: {{Parametr|za|<łańcuch tekstowy>}}, który jest w nazwie linku, ale względem jej originalnej nazwy za nim.|komórka1=tak
}}
====== Proste przykłady użycia, z linkiem do projektu bieżącego, przy użyciu parametru {{Code|link}} ======
Gdy chcemy wyświetlić link do polskiego projektu {{NS|w=tak|l=tak|pk=mj}} do jego strony głównej.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local link_1 = nazwy_modul.NAZWASERWISU{ link = "tak", po = "a", };
local link_2 = nazwy_modul.NAZWASERWISU{ link = "tak", za = "a", };
</syntaxhighlight>
; Analogiczne wywołanie szablonu{{Dk}}
* {{Code|{{s|NS|l{{=}}tak|p{{=}}a}}}} → {{Tt|{{NS|l=tak|p=a}}}},
* {{Code|{{s|NS|l{{=}}tak|z{{=}}a}}}} → {{Tt|{{NS|l=tak|z=a}}}}.
; Kod wywołania tych szablonów:
;; Dla wywołania {{Code|{{s|NS|l{{=}}tak|p{{=}}a}}}}{{Dk}}
{{PreNowiki|{{NS|l=tak|p=a}}}}
;; Dla wywołania {{Code|{{s|NS|l{{=}}tak|z{{=}}a}}}}{{Dk}}
{{PreNowiki|{{NS|l=tak|z=a}}}}
====== Proste przykłady użycia, z linkiem do polskiej {{NS|w=tak|l=tak|k=w|pk=mj}}, przy użyciu parametru {{Code|link}} ======
Gdy chcemy wyświetlić link do artykułu o {{NS|w=tak|l=tak|k=b|pk=mj}} na polskiej {{NS|w=tak|l=tak|k=w|pk=mj}}.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local link_1 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", po = "a", };
local link_2 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", za = "a", };
</syntaxhighlight>
; Analogiczne wywołanie szablonu{{Dk}}
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|p{{=}}a}}}} → {{Tt|{{NS|l=tak|w=tak|p=a}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|z{{=}}a}}}} → {{Tt|{{NS|l=tak|w=tak|z=a}}}}.
; Kod wywołania tych szablonów:
;; Dla wywołania {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|p{{=}}a}}}}{{Dk}}
{{PreNowiki|{{NS|l=tak|w=tak|p=a}}}}
;; Dla wywołania {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|z{{=}}a}}}}{{Dk}}
{{PreNowiki|{{NS|l=tak|w=tak|z=a}}}}
====== Przykłady użycia, z linkiem do obcojęzycznej {{NS|w=tak|l=tak|k=w|pk=mj}}, z polską podanego nazwą projektu, przy użyciu parametru {{Code|link}} ======
Gdy chcemy wyświetlić link do artykułu o {{NS|w=tak|l=tak|k=b|pk=mj}} na podanej obcojęzycznej {{NS|w=tak|l=tak|k=w|pk=mj}} podany za pomocą parametru {{Code|["klucz projektu"] {{=}} "en:s"}}. Jest to projekt: {{NS|l=tak|k=en:s}}, którego językiem jest: {{lpg|{{#invoke:lang|hasło|es}}}}.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local link_1 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["klucz projektu"] = "en:s", po = "a", };
local link_2 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["klucz projektu"] = "en:s", za = "a", };
</syntaxhighlight>
; Analogiczne wywołanie szablonu{{Dk}}
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|k{{=}}en:s|p{{=}}a}}}} → {{Tt|{{NS|l=tak|w=tak|k=en:s|p=a}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|k{{=}}en:s|z{{=}}a}}}} → {{Tt|{{NS|l=tak|w=tak|k=en:s|z=a}}}}.
; Kod wywołania tych szablonów:
;; Dla wywołania {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|k{{=}}en:s|p{{=}}a}}}}{{Dk}}
{{PreNowiki|{{NS|l=tak|w=tak|k=en:s|p=a}}}}
;; Dla wywołania {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|k{{=}}en:s|z{{=}}a}}}}{{Dk}}
{{PreNowiki|{{NS|l=tak|w=tak|k=en:s|z=a}}}}
====== Przykłady użycia, z linkiem do obcojęzycznej {{NS|w=tak|l=tak|k=w|pk=mj}}, z niepolską podanego nazwą projektu, przy użyciu parametru {{Code|link}} ======
Gdy chcemy wyświetlić link do artykułu o {{NS|w=tak|l=tak|k=b|pk=mj}} do podanej obcojęzycznej {{NS|w=tak|l=tak|k=w|pk=mj}} podany za pomocą parametru {{Code|["klucz projektu"] {{=}} "en:s"}}. A nazwa linku ma być podana w języku tego projektu.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local link_1 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["klucz projektu"] = "en:s", ["w języku wiki"] = "tak", po = "a", };
local link_2 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["klucz projektu"] = "en:s", ["w języku wiki"] = "tak", za = "a", };
</syntaxhighlight>
; Analogiczne wywołanie szablonu{{Dk}}
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|k{{=}}en:s|jw{{=}}tak|p{{=}}a}}}} → {{Tt|{{NS|l=tak|w=tak|k=en:s|jw=tak|p=a}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|k{{=}}en:s|jw{{=}}tak|z{{=}}a}}}} → {{Tt|{{NS|l=tak|w=tak|k=en:s|jw=tak|z=a}}}}.
; Kod wywołania tych szablonów:
;; Dla wywołania {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|k{{=}}en:s|jw{{=}}tak|p{{=}}a}}}}{{Dk}}
{{PreNowiki|{{NS|l=tak|w=tak|k=en:s|jw=tak|p=a}}}}
;; Dla wywołania {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|k{{=}}en:s|jw{{=}}tak|z{{=}}a}}}}{{Dk}}
{{PreNowiki|{{NS|l=tak|w=tak|k=en:s|jw=tak|za=a}}}}
===== Wywołania szablonu dotyczące, w {{NS|w=tak|l=tak|k=w|pk=mj}} iub nie, kodzie dla projektu {{NS|w=tak|l=tak|pk=m}} dla różnych wersji językowych =====
====== Przykłady użycia funkcji {{Code|nazwy_modul.NAZWASERWISU()}} ======
Gdy chcemy podać nazwę projektu w postaci linku do artykułu strony głównej na {{NS|w=tak|l=tak|pk=mj}} lub artykułu na polskiej lub obcojęzycznej {{NS|w=tak|l=tak|k=w|pk=mj}}. Do jakiej {{NS|w=tak|l=tak|k=w|pk=mj}} ma być link, to wskazuje kod języka, np.: {{Code|["kod języka"] {{=}} "en"}}. Gdy nie podamy tego kodu, to linkujemy tylko do polskiego {{NS|w=tak|l=tak|pk=mj}} lub do polskiej {{NS|w=tak|l=tak|k=w|pk=mj}} (jeżeli podamy parametr {{Code|wikipedia {{=}} "tak"}}). A gdy podany jest ten kod, to możemy linkować nie tylko do polskich projektów siostrzanych polskiego {{NS|w=tak|l=tak|pk=mj}} (ale tylko różnych jego wersji językowych), ale też można linkować do obcojęzycznych projektów, którym jest Wikipedia do artykułu o tym projekcie.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local link_1 = nazwy_modul.NAZWASERWISSU{}; };
local link_2 = nazwy_modul.NAZWASERWISU{ link = "tak", };
local link_3 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", };
local link_4 = nazwy_modul.NAZWASERWISU{ link = "tak", ["kod języka"] = "pl", };
local link_5 = nazwy_modul.NAZWASERWISU{ link = "tak", ["kod języka"] = "en", };
local link_6 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["kod języka"] = "pl", };
local link_7 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["kod języka"] = "en", };
</syntaxhighlight>
====== Analogiczne wywołanie szablonu ======
* {{Code|{{s|NS}}}} → {{Tt|{{NS}}}},
* {{Code|{{s|NS|l{{=}}tak}}}} → {{Tt|{{NS|l=tak}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak}}}} → {{Tt|{{NS|l=tak|w=tak}}}},
* {{Code|{{s|NS|l{{=}}tak|kj{{=}}pl}}}} → {{Tt|{{NS|l=tak|kj=pl}}}},
* {{Code|{{s|NS|l{{=}}tak|kj{{=}}en}}}} → {{Tt|{{NS|l=tak|kj=en}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|kj{{=}}pl}}}} → {{Tt|{{NS|l=tak|w=tak|kj=pl}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|kj{{=}}en}}}} → {{Tt|{{NS|l=tak|w=tak|kj=en}}}}.
===== Wywołanie szablonu dotyczące innego projektu niż ten =====
====== Przykłady użycia funkcji {{Code|nazwy_modul.NAZWASERWISU()}} ======
Ale też możemy linkować do stron głównych innych projektów niż {{NS|w=tak|l=tak|pk=m}}. Robimy to za pomocą parametru: {{Code|["kod projektu"] {{=}} "s"}}, nie licąc parametru języka, ale też możemy linkować do artykułu o danym projekcie na {{NS|w=tak|l=tak|k=w|pk=mj}}. A jeżeli podamy kod języka {{Code|["kod języka"] {{=}} "en"}}, wtedy linkujemy do angielskich projektów, w tym również do {{NS|w=tak|l=tak|k=w|pk=mj}}.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
---- Tutaj linkujemy do Wikiźródeł do jej strony głównej
local linki_1 = nazwy_modul.NAZWASERWISU{ link = "tak", ["kod projektu"] = "s", };
--- Co powyżej, tylko do artykułu na Wikipedii o Wikiźródłach
local linki_2 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["kod projektu"] = "s", };
-- Tutaj linkujemy do Wikibooksa do jej strony głównej w jakieś jej wersji językowej
local linki_3 = nazwy_modul.NAZWASERWISU{ link = "tak", ["kod języka"] = "pl", ["kod projektu"] = "s", };
local linki_4 = nazwy_modul.NAZWASERWISU{ link = "tak", ["kod języka"] = "en", ["kod projektu"] = "s", };
-- Jak powyżej, tylko do artykułu Wikipedii w jakieś wersji językowej o Wikiźródłach
local linki_5 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["kod języka"] = "pl", ["kod projektu"] = "s", };
local linki_6 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["kod języka"] = "en", ["kod projektu"] = "s", };
</syntaxhighlight>
====== Analogiczne wywołanie szablonu ======
* {{Code|{{s|NS|l{{=}}tak|kp{{=}}s}}}} → {{Tt|{{NS|l=tak|kp=s}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|kp{{=}}s}}}} → {{Tt|{{NS|l=tak|w=tak|kp=s}}}},
* {{Code|{{s|NS|l{{=}}tak|kj{{=}}pl|kp{{=}}s}}}} → {{Tt|{{NS|l=tak|kj=pl|kp=s}}}},
* {{Code|{{s|NS|l{{=}}tak|kj{{=}}en|kp{{=}}s}}}} → {{Tt|{{NS|l=tak|kj=en|kp=s}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|kj{{=}}pl|kp{{=}}s}}}} → {{Tt|{{NS|l=tak|w=tak|kj=pl|kp=s}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|kj{{=}}en|kp{{=}}s}}}} → {{Tt|{{NS|l=tak|w=tak|kj=en|kp=s}}}}.
===== Wywołania szablonu z nazwą linku danej wiki =====
====== Przykłady użycia funkcji {{Code|nazwy_modul.NAZWASERWISU()}} ======
Gdy chcemy podać nazwę linku przy pomocy parametru {{Code|["w języku wiki"] {{=}} "tak"}}, w języku danej wiki, którego podajemy przy parametrze {{Code|["kod języka"] {{=}} "en"}}, dla projektu podanego w zmiennej {{Code|["kod projektu"] {{=}} "s"}}.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local linki_1 = nazwy_modul.NAZWASERWISU{ link = "tak", ["kod projektu"] = "s", ["w języku wiki"] = "tak", };
local linki_2 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["kod projektu"] = "s",["w języku wiki"] = "tak", };
local linki_3 = nazwy_modul.NAZWASERWISU{ link = "tak", ["kod języka"] = "pl", ["kod projektu"] = "s", ["w języku wiki"] = "tak", };
local linki_4 = nazwy_modul.NAZWASERWISU{ link = "tak", ["kod języka"] = "en", ["kod projektu"] = "s", ["w języku wiki"] = "tak", };
local linki_5 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["kod języka"] = "pl", ["kod projektu"] = "s", ["w języku wiki"] = "tak", };
local linki_6 = nazwy_modul.NAZWASERWISU{ link = "tak", wikipedia = "tak", ["kod języka"] = "en", ["kod projektu"] = "s", ["w języku wiki"] = "tak", };
</syntaxhighlight>
====== Analogiczne wywołanie szablonu ======
* {{Code|{{s|NS|l{{=}}tak|kp{{=}}s|jw{{=}}tak}}}} → {{Tt|{{NS|l=tak|kp=s|jw=tak}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|kp{{=}}s|jw{{=}}tak}}}} → {{Tt|{{NS|l=tak|w=tak|kp=s|jw=tak}}}},
* {{Code|{{s|NS|l{{=}}tak|kj{{=}}pl|kp{{=}}s|jw{{=}}tak}}}} → {{Tt|{{NS|l=tak|kj=pl|kp=s|jw=tak}}}},
* {{Code|{{s|NS|l{{=}}tak|kj{{=}}en|kp{{=}}s|jw{{=}}tak}}}} → {{Tt|{{NS|l=tak|kj=en|kp=s|jw=tak}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|kj{{=}}pl|kp{{=}}s|jw{{=}}tak}}}} → {{Tt|{{NS|l=tak|w=tak|kj=pl|kp=s|jw=tak}}}},
* {{Code|{{s|NS|l{{=}}tak|w{{=}}tak|kj{{=}}en|kp{{=}}s|jw{{=}}tak}}}} → {{Tt|{{NS|l=tak|w=tak|kj=en|kp=s|jw=tak}}}}.
===== Wywołanie szablonu z podaną nazwą linku =====
====== Przykłady użycia funkcji {{Code|nazwy_modul.NAZWASERWISU()}} ======
Jeżeli chcemy podać ściśle określony ciąg, który jest nazwą linku, do linkowania do strony głównej lub artykułu na {{NS|w=tak|l=tak|k=w|pk=mj}} o danym projekcie, np. inną niż nazwa projektu. Tutaj nazwą linku jest {{Code|[1] {{=}} "Biblioteka książek"}}.
<syntaxhighlight lang="lua">
local nazwy_modul=require("Module:Nazwy");
local link_1 = nazwy_modul.NAZWASERWISU{ [1] = "Biblioteka książek", link = "tak", };
local link_2 = nazwy_modul.NAZWASERWISU{ [1] = "Biblioteka książek", link = "tak", wikipedia = "tak", };
local link_3 = nazwy_modul.NAZWASERWISU{ [1] = "Biblioteka książek", link = "tak", ["kod projektu"] = "s",["kod języka"] = "en", };
local link_4 = nazwy_modul.NAZWASERWISU{ [1] = "Biblioteka książek", link = "tak", wikipedia = "tak", ["kod projektu"] = "s",["kod języka"] = "en", };
</syntaxhighlight>
====== Analogiczne wywołanie szablonu ======
* {{Code|{{s|NS|Biblioteka książek|l{{=}}tak}}}} → {{Tt|{{NS|Biblioteka książek|l=tak}}}},
* {{Code|{{s|NS|Biblioteka książek|l{{=}}tak|w{{=}}tak}}}} → {{Tt|{{NS|Biblioteka książek|l=tak|w=tak}}}},
* {{Code|{{s|NS|Biblioteka wikiźródeł|l{{=}}tak|kp{{=}}s|kj{{=}}en}}}} → {{Tt|{{NS|Biblioteka wikiźródeł|l=tak|kp=s|kj=en}}}},
* {{Code|{{s|NS|Biblioteka wikiźródeł|l{{=}}tak|w{{=}}tak|kp{{=}}s|kj{{=}}en}}}} → {{Tt|{{NS|Biblioteka wikiźródeł|l=tak|w=tak|kp=s|kj=en}}}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
tbpvcrcy7mit90v3fhzwhdhq4mqxlx9
Wikibooks:Moduły/Ramka
4
63231
560581
558934
2026-11-04T09:06:02Z
Persino
2851
560581
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Ramka}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local ramka_modul=require("Module:Ramka");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Funkcje, w tym module, uruchamia się tylko w ramce w szablonie, bo są tylko do tego przygotowane. One służą do powtarzania parametrów rodzica, czy przodka, iteracji pojedynczego kroku wikikodu, jakiś sprawdzeń, do liczenia odpowiedników i związanych z tym parametrami, itp..
== Funcje lokalne modułu ==
=== {{Śródtytuł|ParserBlokowy}}{{Code|ParserBlokowy}} ===
Funkcje się uruchamia w zwykłej funkcji w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, tylko w module {{Code|{{ld2|Ramka}}}}, szablonów, modułów i parserów w ramce. Uruchamiana jest przez funkcje: {{LinkŚródtytuł|p.Szablon}} - funkcja do uruchamiania szablonów, {{LinkŚródtytuł|p["Moduł"]}} - funkcja do uruchamiania modułów, i {{LinkŚródtytuł|p.Parser}} - funkcja do uruchamiania parserów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function ParserBlokowy(frame, co_ma_wywolac)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} {{Patrz|frame}} | _1 = Funkcja ramki funkcji tablica transportu modułu.
| 2 = {{Code|co_ma_wywolac}} {{Patrz|co_ma_wywolac}} | _2 = Ten parametr przyjmuje wartość liczbową, która jeżeli: {{Tt|0}} - to uruchamiany jest szablon, jeżeli: {{Tt|1}} - moduł, jeżeli: {{Code|2}} - to parser, jeżeli on ma inne wartości, tzn.: {{Tt|2}}, a: {{Tt|3}}, i dalej, to już dany szablon.
}}
Parametry ramki funkcji {{Code|table}} tablicy transportu modułu:
{{OpisParametrów
| 1 = Parametry podstawowe - parametry ramki, nie zawsze parametry przekazywane obiektowi w ramce, czasami od rodzica:|nagłówek1=tak
| 2 = {{Code|Nazwa}} {{Patrz|Nazwa}} | _2 = Jest to nazwa szablonu, modułu, czy parsera, ale nie pełna (bez nazwy przestrzeni nazw), względem parametru: {{Code|co_ma_wywolac}} {{LinkPatrz|co_ma_wywolac}}.
| 3 = {{Code|bez argumentów rodzica}} {{Patrz|bez argumentów rodzica}} | _3 =
{{P|Tablica parametrów oddzielonych średnikami, których obiekt uruchamiany nie może przyjmować, nawet jeżeli one są.}}
{{P|Tutaj chodzi o parametry, które nie są przekazywane do ramki obiektu uruchamianego, a pozostałe są.}}
{{P|Te parametry wcielane w obiekt są ogólnie inne niż walidowane, ale nie zawsze.}}
| 4 = {{Code|nazwa szablonu rodzica}} {{Patrz|nazwa szablonu rodzica}} | _4 =
{{P|Jest to zmienna przechowująca nazwę szablonu rodzica ramki dziecka, a nawet któreś z jego przodków.}}
{{P|Jeśli, nie podano parametru: {{Code|zmienna z parametrami rodzica}} {{LinkPatrz|zmienna z parametrami rodzica}}, to ona jest tworzona na życzenie: {{Code|zmienna z nazwą szablonu rodzica}} {{LinkPatrz|zmienna z nazwą szablonu rodzica}}, przeciwnie, jest tworzona właśnie wtedy.}}
| 5 = {{Code|nazwa szablonu przodka}} {{Patrz|nazwa szablonu przodka}} | _5 =
{{P|Nie jest tworzona na życzenie żadnego parametru, jak to było z: {{Code|nazwa szablonu rodzica}} {{LinkPatrz|nazwa szablonu rodzica}}, tylko jest tworzona u pierwszego najwyższego przodka, którego parametry są dziedziczone, do jej potomków.}}
{{P|Wtedy jest to nazwa szablonu, w najwyższego przodka, względem jego dzieci wywoływanych przez funkcję: {{Code|{{m|Ramka|Szablon}}}}, czy przez jego kolegów.}}
| 6 = {{Code|bez argumentów nienazwanych rodzica}} {{Patrz|bez argumentów nienazwanych rodzica}} | _6 = Szablon w ramce nie przyjmuje parametrów nienazwanych, określonych liczbą, podanych w rodzicu ramki.
| 7= {{Code|potomek}} {{Patrz|potomek}} | _7 =
{{P|Zmienna mówiąca, że to jest potomek rodzica ramki, tą zmienną nigdzie się nie podaje, tylko sama jest ona tworzona automatycznie.}}
{{P|Jeżeli jest podany parametr: {{Code|nie potomek}}, w: {{Code|bez argumentów rodzica}} {{LinkPatrz|bez argumentów rodzica}}, przy niepodanym niepustym parametrze: {{Code|zmienna z parametrami rodzica}} {{LinkPatrz|zmienna z parametrami rodzica}}, wtedy ta zmienna nie jest tworzona.}}
{{P|Tej zmiennej nie używa się bezpośrednio w kodzie ramki, sama ta ramka tworzy ta zmienną jako tylko niepustą, a w innym wypadku nieistniejącą, jedynie go można użyć przy wielopoziomowym przekazywaniu parametrów rodzica, do ustawiania pewnych wartości parametrów wbudowanych w tą funkcję.}}
| 8 = {{Code|nie potomek}} {{Patrz|nie potomek}} | _8 =
{{P|Zmienna, określona, podawana w: {{Code|bez argumentów rodzica}} {{LinkPatrz|bez argumentów rodzica}}, mówiąca, że to nie jest potomek szablonu rodzica (przodka), używana, gdy nie jest określona istniejąca zmienna ramki: {{Code|zmienna z parametrami rodzica}} {{LinkPatrz|zmienna z parametrami rodzica}}.}}
{{P|W tym przypadku taka ramka jest traktowana jak normalna ramka, której jedynie trzeba przekazać parametry rodzica, nie przodka, wtedy do niej nie jest tworzony parametr: {{Code|parametry rodzica}} {{LinkPatrz|parametry rodzica}} (ta zmienna jest wtedy ustawiana, gdy nie jest niepusty parametr: {{Code|bez dodatkowych sprawdzeń}} {{LinkPatrz|bez dodatkowych sprawdzeń}}).}}
{{P|Przy nieustawionym niepustym parametrze tym, zmienne: {{Code|bez argumentów szablonu}} {{LinkPatrz|bez argumentów szablonu}}, i {{Code|potomek}} {{LinkPatrz|potomek}}, ta pierwsza jest ustawiana ogólnie na stałą wartość niepustą, a druga na tylko niepustą.}}
{{P|Jeżeli zmienna ogólnie: {{Code|nie potomek}} {{LinkPatrz|nie potomek}}, tam została podana, lub nie, wtedy zawsze: {{Code|nazwa szablonu rodzic}} {{LinkPatrz|nazwa szablonu rodzica}} (jeśli ta wartość rodzica nie istnieje, to nadawana jest jej aktualna nazwa szablonu rodzica, a nie przodka, normalnie jest to przodka, a w szczególności rodzica), a parametr: {{Code|nazwa szablonu przodka}} {{LinkPatrz|nazwa szablonu przodka}}, jest zawsze przekazywany z rodzica na dziecko od najwyższego przodka z wielopoziomowych ramek.}}
| 9 = {{Code|bez argumentów szablonu}} {{Patrz|bez argumentów szablonu}} | _9 =
{{P|Zmienna oddzielonych średnikami parametrów, których nie wolno uwzględniać w walidacji błędów w: {{Code|{{m|Sprawdź|Parametry}}}}, ta tablica jest wkładana do parametrów ramki, gdy nie podany jest niepusty parametr w niej: {{Code|zmienna z argumentami ramki}} {{LinkPatrz|zmienna z argumentami ramki}}.}}
{{P|A jeżeli ten argument jednak jest niepusty, wtedy do tej zmiennej są wliczane parametry ramki, które nie są argumentami wbudowanymi w tą funkcję.}}
| 10 = {{Code|bez dodatkowych sprawdzeń}} {{Patrz|bez dodatkowych sprawdzeń}} | _10 =
{{P|Nie jest uruchamiana walidacja parametrów szablonu rodzica, czyli wtedy do dziecka nie jest przekazywany parametr: {{Code|parametry rodzica}} {{LinkPatrz|parametry rodzica}}, i nie jest ustawiana ta zmienna.}}
{{P|Ten parametr jest powtarzany w parametrach dziecka od rodzica, czy nawet od przodka.}}
| 11 = {{Code|parametry rodzica}} {{Patrz|parametry rodzica}} | _11 = Zmienna przedstawiająca parametry rodzica, czy któreś ze przodków, przekazane do ramki: {{Code|{{m|Sprawdź|Parametry}}}} - dodane przez tę funkcję.
| 12 = {{Code|zmienna z parametrami rodzica}} {{Patrz|zmienna z parametrami rodzica}} | _12 =
{{P|Jeśli wartość jego jest niepusta, wtedy parametr, mówiący, czy ma tworzyć zmienne z parametrami rodzica: {{Code|parametry rodzica}} {{LinkPatrz|parametry rodzica}}, jest przekazywana do dziecka w postaci wygenerowanej listy parametrów rodzica wraz z wartościami przez funkcję.}}
{{P|W przypadku innej jego wartości, to ten parametr rodzica jest przekazywany normalnie, jeżeli ta ramka byłaby potomkiem, czyli parametry byłyby przekazywane od przodka, i nie byłby wtedy ustawiony parametr: {{Code|nie potomek}} {{LinkPatrz|nie potomek}}.}}
| 13 = {{Code|zmienna z argumentami ramki}} {{Patrz|zmienna z argumentami ramki}} | _13 =
{{P|Zmienna mówiąca, co ma być względem parametrów ramki, czyli parametry rodzica, które poszczególne, są nieprawidłowe lub nie powinny być podane.}}
{{P|A jeśli jednak są, to sprawdzanie jest to przez walidację błędów według funkcji: {{Code|{{m|Sprawdź|Parametry}}}}, wywołanej w ramce języka: {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, powinno to zgłosić problem, bo wtedy w parametrach sprawdzacza błędów, od wszystkich parametrów rodzica, są odejmowane te niedozwolone, niepowodujące błędów, podanej tablicy argumentów ramki: {{Code|{{m|Ramka}}}}.}}
{{P|Jeśli były by takie argumenty ramki, to tworzona jest nowa, ewentualnie zaktualizowana, taka tablicy, którą jest: {{Code|bez argumentów szablonu}} {{LinkPatrz|bez argumentów szablonu}} (Format tej tablicy jest podany tutaj, pod tym linkiem), określający parametry, które szablon, czy ramka, a nawet parser, nie powinien przyjmować.}}
| 14 = {{Code|zmienna z nazwą szablonu rodzica}} {{Patrz|zmienna z nazwą szablonu rodzica}} | _14 =
{{P|Parametr, gdy niepusty, wtedy jest tworzona zmienna: {{Code|nazwa szablonu rodzica}} {{LinkPatrz|nazwa szablonu rodzica}}.}}
{{P|Gdy nie jest niepusty parametr: {{Code|nie potomek}} {{LinkPatrz|nie potomek}}, lub nie jest niepusty: {{Code|potomek}} {{LinkPatrz|potomek}}, wtedy jest ona tworzona, na życzenie.}}
{{P|Parametr: {{Code|nazwa szablonu rodzica}} {{LinkPatrz|nazwa szablonu rodzica}}, jest nazwą szablonu przekazywaną od rodzica, ale nie od nie przodka, ale jest nazwą szablonu, któregoś z przodków, a w szczególności rodzica.}}
{{P|W przeciwnym wypadku jest tworzona na życzenie parametru: {{Code|zmienna z parametrami rodzica}} {{LinkPatrz|zmienna z parametrami rodzica}}.}}
| 15 = {{Code|parametry funkcji modułu pudełek}} {{Patrz|parametry funkcji modułu pudełek}} | _15 = Czy do funkcji mają wchodzić tylko parametry modułu pudełek, które są ponumerowane, jak i nie, dodatkowym numerkiem.
| 16 = {{Code|parametry podstawowe funkcji modułu pudełek}} {{Patrz|parametry podstawowe funkcji modułu pudełek}} | _16 =
{{P|Czy do funkcji mają wchodzić tylko parametry modułu pudełek, te które nie mają tego dodatkowego numerka.}}
{{P|Inaczej niż jak to było w: {{Code|parametry funkcji modułu pudełek}} {{LinkPatrz|parametry funkcji modułu pudełek}}, dzięki któremu temu, były wkładane do ramki z rodzica oby dwa te rodzaje argumentów z ich wartościami.}}
| 17 = {{Code|usuń z parametrów ramki}} {{Patrz|usuń z parametrów ramki}} | _17 = Parametry ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, przedstawiający zmienne oddzielone średnikami, które nie mają być uwzględnione przy uruchamianiu danego obiektu.
| 18 = Parametry ramek, modułu {{lpg|Lua}} {{lpr|Lua|Scribunto}}, dla funkcji: | nagłówek18 = tak
| 19 = {{Code|Funkcja}} {{Patrz|Funkcja}} | _19 = Nazwa funkcji w module, który ma wywołać w ramce ta funkcja, w przypadku, gdy parametr {{LinkPatrz|co_ma_wywolac}} ma wartość {{Tt|1}}, czyli wywołujemy funkcję: {{LinkŚródtytuł|p["Moduł"]}}, modułu ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
}}
Funkcja uruchamia szablon, moduł, czy ramkę, w zależności od drugiego parametru funkcji, z parametrami rodzica ramki bez parametrów opisanych zmienną: {{LinkPatrz|bez argumentów szablonu}}, i bez parametrów ramki wskazanych przez: {{Code|usuń z parametrów ramki}}.
Za pomocą tej funkcji możemy wielopoziomowo wywoływać funkcje przekazując parametry od najwyższego poziomu do najniższego.
Ta funkcja służy przede wszystkim do budowy szablonów, definiując też w jednym miejscu walidację błędów, dla przykładu wykorzystano ją w: {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, i inne, czyli do uruchamiania szablonów, a uruchamianie funkcji modułu, w tym funkcji {{m|Cytuj|custom}} (przyjmująca jedynie parametry ramki, nie rodzica, to nie jest funkcja {{m|Cytuj|auto}}, by potrzebowała ona elementów rodzica) w szablonie {{s|PrzypisStrona}}.
Przykładem wywołania szablonu, która jest w szablonie: {{s|Wzór}}, w którym jest wywoływany inny szablon, tym razem silnik, tzn. {{s|Wzór/silnik}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Ramka|Szablon|Nazwa=Wzór/silnik|pozycja numeracji=po prawej|wyrównanie={{{wyrównanie|lewy}}}|bez argumentów szablonu=pozycja numeracji|zmienna z parametrami rodzica=tak}}
</syntaxhighlight>
A przykład wywołania funkcji modułu, która jest w: {{s|PrzypisStrona}}, w którym jest wywoływany funkcja modułu {{m|Cytuj|custom}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Ramka|Moduł|Nazwa=Cytuj|Funkcja=custom
| url = {{{adres}}}/{{{1|{{{podstrona}}}}}}
| tytuł = {{{2|{{{nazwa}}}}}}
| praca = {{lz
| s = {{Jeśli niepuste|{{{serwis|}}}|{{Dopasuj|ciąg={{{adres}}}|wzór=^(%a+:%/%/[^%/]+)}}}}
| n = {{Dopasuj|ciąg={{Jeśli niepuste|{{{serwis|}}}|{{{adres}}}}}|wzór=^%a+:%/%/([^%/]+)}}
}}
| data = {{#if:{{{data|}}}|{{Czas|Y-m-j|{{{data}}}}}}}
| data dostępu = {{Czas|j.m.Y|{{{data dostępu|}}}}}
}}
</syntaxhighlight>
=== {{Śródtytuł|BudowaSzereguZDanych}}{{Code|BudowaSzereguZDanych}} ===
Funkcja do uruchamiania się w zwykłej funkcji w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}} tylko w module {{Code|{{ld2|Ramka}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function BudowaSzereguZDanych(frame,tab_lancuch,minimum,maksimum)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
| 2 = {{Code|tab_lancuch}} {{Patrz|tab_lancuch}} | _2 = Pewna tablica transportu funkcji.
| 3 = Zmienne do mikroszablonów:|nagłówek3=tak
| 4 = {{Code|minimum}} {{Patrz|minimum}} | _4 = Liczba mówiąca o minimum.
| 5 = {{Code|maksimum}} {{Patrz|maksimum}} | _5 = Liczba mówiąca o maksimum.
}}
Parametry ramki funkcji {{Code|table}} tablicy transportu modułu:
{{OpisParametrów
| 1 = {{Code|akapit}} {{Patrz|akapit}} | _1 = Jeśli niepusta, to ona definiuje akapit ze znaków {{Code|\n\n}}, przeciwnym wypadku elementy łańcucha nie są łączone w akapity.
| 2 = {{Code|przecinek}} {{Patrz|przecinek}} | _2 = Jeśli niepuste, to mówi, że pomiędzy elementami powiniem być przecinek: {{Code|", "}}, został on specjalnie objęty w cudzysłowy, aby zilustrować, że po przecinku znajduje się spacja.
| 3 = {{Code|nowa linia}} {{Patrz|nowa linia}} | _3 = W przeciwieństwo do zmiennej {{LinkPatrz|akapit}}, używany zamiast niej, pisze jedną nową linię, a nie dwie, jako: {{Code|\n}}.
| 4 = {{Code|wyliczanka}} {{Patrz|wyliczanka}} | _4 = Wylicza elementy z przecinkami, stawiając przed ostatnim elementem zamiast jego wyraz wyliczania {{Code|i}}.
| 5 = {{Code|początek}} {{Patrz|początek}} | _5 = Mówi, że na początku musi znajdować się przecinek.
| 6 = {{Code|myślnik}} {{Patrz|myślnik}} | _6 = Mówi, że jeśli nie ma początku przecinka, to stawiany jest myślnik, używany zamiast {{LinkPatrz|początek}}.
| 7 = Funkcja w tym warunku zwraca ciąg znaków rozwiniętego warunku: | nagłówek7 = tak
| 8 = {{Code|warunkowe}} {{Patrz|warunkowe}} | _8 = Instrukcje wikikodu, takie jak: {{Code|{{s|#if:[^{}]*}}}}, {{Code|{{s|#ifeq:[^{}]*}}}}, {{Code|{{s|#switch:[^{}]*}}}}, {{Code|{{s|#ifexpr:[^{}]*}}}}, {{Code|{{s|#expr:[^{}]*}}}}, {{Code|{{s|#iferror:[^{}]*}}}} i {{Code|{{s|#iferror:[^{}]*}}}}, zostaną w kodzie rozwinięte, a później ciągłe właściwe elementy wikikodu otoczone dwoma dolnymi myślnikami zostaną rozwinięte do pewnej postaci, funkcja używa do tego {{LinkŚródtytuł|p.InstrukcjeWarunkowe}}.
| 9 = {{Code|parametr}} {{Patrz|parametr}} | _9 = Używany w towarzystwie z {{LinkPatrz|warunkowe}}, mówiący że, derektywy znakowe ciągłe otoczone dwoma dolnymi myślnikami, zostaną zastąpione odpowiedmimi szablonami, w przeciwnym wypadku niepodania tej wartości lub jego pustej, wtedy te derektywy zostaną zastąpione w postaci rozwiniętej tych szablonów.
}}
Funkcja posiada też mikroszablony, które są zdefiniowane w kodzie łańcuchów {{LinkPatrz|tab_lancuch}}:
{{OpisParametrów
| 1 = {{Code|<nowiki>{{min}}</nowiki>}} | _1 = Minimalna wartość szeregu zmiennych, określana przez {{LinkPatrz|minimum}}.
| 2 = {{Code|<nowiki>{{max}}</nowiki>}} | _2 = A tutaj ich maksymalna, określana przez {{LinkPatrz|maksimum}}.
}}
Te dwie zmienne są podstawiane do uzyskanego ciągu.
Funkcja zwraca te części rozwiniętego tekstu wikikodu, jeśli podano {{LinkPatrz|warunkowe}}, co do instrukcji warunkowych, i też te bez wewnętrznych klamerek, czyli specjalne kody, czyli te otoczone z dwóch stron dolnumi myślnikami, a pozostałe część tak uzyskana jest za to nierozwinięta.
== {{Śródtytuł|p.InstrukcjeWarunkowe}}{{Code|p.InstrukcjeWarunkowe}} ==
Funkcje się uruchamia w zwykłej funkcji w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
{{Tabela|klasa=wikitable tekst-centruj-td|pozycja=prawo|liczba wierszy=12|liczba kolumn=3
| nagłówek 1 = Derektywa | nagłówek 2 = Odpowiednik znakowych | nagłówek 3 = Pseudoszablon
| komórka 1_1 = __!__ | komórka 1_2 = | | komórka 1_3 = {{s|!}}
| komórka 2_1 = __!!__ | komórka 2_2 = || | komórka 2_3 = {{s|!!}}
| komórka 3_1 = __(__ | komórka 3_2 = { | komórka 3_3 = {{s|(}}
| komórka 4_1 = __((__ | komórka 4_2 = {{ | komórka 4_3 = {{s|((}}
| komórka 5_1 = __(((__ | komórka 5_2 = {{{ | komórka 5_3 = {{s|(((}}
| komórka 6_1 = __)__ | komórka 6_2 = } | komórka 6_3 = {{s|)}}
| komórka 7_1 = __))__ | komórka 7_2 = }} | komórka 7_3 = {{s|))}}
| komórka 8_1 = __)))__ | komórka 8_2 = }}} | komórka 8_3 = {{s|)))}}
| komórka 9_1 = __!(__ | komórka 9_2 = [ | komórka 9_3 = {{s|!(}}
| komórka 10_1 = __!((__ | komórka 10_2 = [[ | komórka 10_3 = {{s|!((}}
| komórka 11_1 = __)!__ | komórka 11_2 = ] | komórka 11_3 = {{s|)!}}
| komórka 12_1 = __))!__ | komórka 12_2 = ]] | komórka 12_3 = {{s|))!}}
}}
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.InstrukcjeWarunkowe = function(ciag,derektywy_specjalne,derektywy_parametrowe)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|ciag}} {{Patrz|ciag}} | _1 = Podany ciąg do rozwinięcia z instrukcji warunkowych wewnątrz nie posiadający klamerek.
| 2 = {{Code|derektywy_specjalne}} {{Patrz|derektywy_specjalne}} | _2 = Używa do zastępowania specjalnych derektyw, podane po prawej stronie w ramce pływającej.
| 3 = {{Code|derektywy_parametrowe}} {{Patrz|derektywy_parametrowe}} | _3 = Czy używać pseudoszablonów zamiast ich odpowiedników znakowych.
}}
Obsługiwane instrukcje warunkowe: {{Code|{{s|#if:[^{}]*}}}}, {{Code|{{s|#ifeq:[^{}]*}}}}, {{Code|{{s|#switch:[^{}]*}}}}, {{Code|{{s|#ifexpr:[^{}]*}}}}, {{Code|{{s|#expr:[^{}]*}}}}, {{Code|{{s|#iferror:[^{}]*}}}} i {{Code|{{s|#iferror:[^{}]*}}}}.
Ta funkcja jest używana przez: {{LinkŚródtytuł|BudowaSzereguZDanych}}, poprzez: {{LinkŚródtytuł|p.Powtarzaj}}.
Przykłady użycia pośrednio przez tą ostatnią funkcję: ona jest użyta w walidacji błędów {{m|Sprawdź|Parametry}} poprzez: {{m|Ramka|Powtarzaj|...|warunkowe{{=}}tak|...}}, uruchamianą przez: {{m|Ramka|Rozwiń|...}}, na przykładzie w kodzie derektywy:
; Gdzie jest pokazane w wikikodzie definiujących szablony{{dk}}
* {{Code|__!__}} - w: {{s|Kategorie}}, ponieważ ten szablon generuje, dla tego coś w rodzaju {{s|!}}, jest wtedy nie w sposób odróźnić tego od innego tego samego elementu w instrukcjach warunkowych, czyli bezpośrednio wstawienie tego do wikikodu, normalnie powoduje to błędne działanie jego generatora, dlatego trzeba użyć właśnie to.
== Funkcje parametrów i argumentów ==
=== {{Śródtytuł|p.RozpakujArgumenty}}{{Code|p.RozpakujArgumenty}} ===
Ta funkcja jest do rozpakowywania zmiennych z podanego parametru, których zmienne są oddzieloe średnikami.
* Funkcja uruchamia się w zwykłej funkcji w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.RozpakujArgumenty = function(zmienna_z_argumentami)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna_z_argumentami}} | _1 = Parametr ze zmiennymi do rozpakowwania.
}}
Funkcja przyjmuje jeden parametr ze zmiennymi oddzielonych średnikami, je rozpakowuje, wyjmując z pól pomiędzy średnikami zmienne, i układa je w tablicy, która jest zwaracana jako parametr, te parametry mogą mięć mikroszablony, które sa zastępowane odpowiednikami znakowymi. Jedynym tego przykładem jest mikrofunkcja {{Code|<nowiki>{{+}}</nowiki>}}, ktora jest zamieniana na średnik.
=== {{Śródtytuł|p.PakujParametry}}{{Code|p.PakujParametry}} ===
Ta funkcja jest do pakowania tablicy, języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w tablicę {{lpg|JSON}}.
* Funkcja się uruchamia w zwykłej funkcji w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Funkcja pakuje parametry tablicy {{lpg|Lua}} do tablicy: {{lpg|JSON}}, przy pomocy funkcji, którego wynik jest zwracany do tej funkcji:
<syntaxhighlight lang="lua">
p.PakujParametry = function(args)
return mw.text.jsonEncode(args,mw.text.JSON_PRESERVE_KEYS);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} {{Patrz|args}} | _1 = Tablica {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
}}
Ten szablon nazywa parametry, jakby nienazwane w tablicy {{lpg|JSON}} (tutaj numerowanie jest od zera) z tablicy {{lpg|Lua}} (tutaj od jedynki), do tablicy nazwanej, jak to robi się w {{lpr|Lua|Scribunto}}, z użyciem funkcji: {{LzLua|mw.text.jsonEncode}}, z drugim parametrem: {{Code|mw.text.JSON_PRESERVE_KEYS}} {{Patrz|mw.text.JSON_PRESERVE_KEYS}}.
=== {{Śródtytuł|p.RozpakujParametry}}{{Code|p.RozpakujParametry}} ===
Ta funkcja jest do rozpakowywania tablicy {{lpg|JSON}} w tablicę języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}
* Funkcje się uruchamia w zwykłej funkcji w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Funkcja rozpakowuje parametry z tablicy: {{Code|JSON}}, do tablicy {{lpg|Lua}}, przy pomocy funkcji, którego wynik jest w niej zwracany.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.RozpakujParametry = function (zmienna_z_parametrami)
return mw.text.jsonDecode(zmienna_z_parametrami,mw.text.JSON_PRESERVE_KEYS);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna_z_parametrami}} {{Patrz|zmienna_z_parametrami}} | _1 = Tablica {{lpg|JSON}}.
}}
Ten szablon nazywa parametry nienazwane w tablicy {{lpg|Lua}} (tutaj od jedynki) z tablicy {{lpg|JSON}} (tutaj numerowanie jest od zera), do tablicy nienazwanej z nazwanej, jak to robi się w {{Lpr|Lua|Scribunto}}, z użyciem funkcji: {{LzLua|mw.text.jsonDecode}}, z użyciem drugiego parametru: {{LinkPatrz|mw.text.JSON_PRESERVE_KEYS}}.
== {{Śródtytuł|p["Rozwiń"]}}{{Code|p["Rozwiń"]}} ==
Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Rozwiń"] = function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
Szablon rozwija wikikod podany w zmiennej {{Code|1}}, w parametrach szablonu rodzica.
* Szablon jest użyty w szablonie: {{s|Wybrane grupy książek}}, która generuje układ wielokolumnowy układ bloków ramkowych przy pomocy funkcji: {{s|Blok ramkowy}} i {{s|Blok ramkowy/Zamknij}},
* Szablon również jest użyty w szablonach: {{s|Osobny artykuł/silnik}}, {{s|Kategoria główna/silnik}}, {{s|Spójrz też/silnik}}, itd..
Przykład wywołania funkcji:
* {{Code|{{m|Ramka|Rozwiń|1{{=}}<wikikod>}}}} - funkcja rozwija podany wikikod podany w zmiennej {{Code|1}}.
Kod tej funkcji bibliotecznej w tym module, tzn.: {{Ld2|Ramka}}:
<syntaxhighlight lang="lua">
p["Rozwiń"] = function(frame)
return frame:getParent():preprocess(frame.args[1]);
end;
</syntaxhighlight>
== {{Śródtytuł|p.Log}}{{Code|p.Log}} ==
Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.Log = function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
Szablon wysyła logi do konsoli {{Code|MediaWiki}} w postaci tekstu: ukryty pod zmienna: {{Code|log}}, i ewentualnie zwraca ten tekst, jeżeli zmienna: {{Code|wikitext}}, przyjmuje wartość niepustą, lub jest niepodana.
Przykłady użycia funkcji:
* {{Code|{{m|Ramka|Log|log{{=}}<tekst>|wikitext{{=}}tak}}}}- tutaj funkcja (ramka) wysyła do konsoli tekst ukryty pod zmienną: {{Parametr|log|<tekst>}}, i jednocześnie zwraca jej wartość.
Kod tej funkcji bibliotecznej w tym module, tzn.: {{Ld2|Ramka}}:
<syntaxhighlight lang="lua">
p.Log = function(frame)
local parametry_modul=require("Module:Parametry");
local czy_zwracac=parametry_modul.CzyTak(frame.args["wikitext"]);
local wikitekst=frame.args["log"];
mw.log(wikitekst);
return (czy_zwracac and wikitekst or "");
end;
</syntaxhighlight>
== Funkcje ramki tablicy transportu ==
=== {{Śródtytuł|p.Szablon}}{{Code|p.Szablon}} ===
Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Funkcja wywołuje inną funkcję, ale lokalną w postaci zwracanej wartości dla drugiego parametru zerowego {{Code|0}}, symbolizującego rozwijanie szablonu.
Definicja pełna funkcji:
<syntaxhighlight lang="lua">
p.Szablon = function(frame)
return ParserBlokowy(frame,0);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
Szablon przyjmuje te same parametry tablicy ramki {{Code|frame}}, co: {{Code|ParserBlokowy}}.
Funkcję uruchamia się w ramce szablonu, przykład:
<syntaxhighlight lang="mediawiki">
{{#invoke:Ramka|Szablon|Nazwa=<nazwa szablonu>|...}}
</syntaxhighlight>
=== {{Śródtytuł|p["Moduł"]}}{{Code|p["Moduł"]}} ===
Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Funkcja wywołuje inną funkcję, ale lokalną w postaci zwracanej wartości dla drugiego parametru zerowego {{Code|1}}, symbolizującego rozwijanie funkcji modułu ramki.
Definicja pełna funkcji:
<syntaxhighlight lang="lua">
p["Moduł"] = function(frame)
return ParserBlokowy(frame,1);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
Szablon przyjmuje te same parametry tablicy ramki {{Code|frame}}, co: {{Code|ParserBlokowy}}.
Funkcję uruchamia się w ramce szablonu, przykład:
<syntaxhighlight lang="mediawiki">
{{#invoke:Ramka|Moduł|Nazwa=<nazwa modułu>|Funkcja=<nazwa funkcji>|...}}
</syntaxhighlight>
=== {{Śródtytuł|p.Parser}}{{Code|p.Parser}} ===
Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Funkcja wywołuje inną funkcję, ale lokalną w postaci zwracanej wartości dla drugiego parametru zerowego {{Code|2}} symbolizującego rozwijanie funkcji parsera.
Definicja pełna funkcji:
<syntaxhighlight lang="lua">
p.Parser = function(frame)
return ParserBlokowy(frame,2);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
Szablon przyjmuje te same parametry tablicy ramki {{Code|frame}}, co: {{Code|ParserBlokowy}}.
Funkcję uruchamia się w ramce szablonu, przykład:
<syntaxhighlight lang="mediawiki">
{{#invoke:Ramka|Parser|Nazwa=<nazwa parsera>|...}}
</syntaxhighlight>
== Funkcje książkowe ==
=== {{Śródtytuł|p.Q}}{{Code|p.Q}} ===
Funkcja uruchamiana we wnętrzu szablonu {{s|Q}}, która przyjmuje jego parametry bez {{Parametr|wyspecjalizowana}}, i tak samo działa, jak on.
* Jego specjalne odpowiedniki to {{s|T}} i {{s|T2}}.
Funkcja uruchamia szablon o podanej nazwie w pierwszym parametrze z dodanym przedrostkiem {{Code|Książka:}} przed nazwą szablonu.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.Q =function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
Szablon {{s|Q}} przyjmuje nie tylko jeden parametr {{Parametr|1}}, którą jest nazwa niepełna szablonu, modułu, czy kategorii. Szablon ten, czy też: {{s|T}}, podobnie jak poprzedni szablon, dopuszcza parametry szablonu, które uruchamiają się z nimi owy szablon (funkcja) o nazwie uzyskanej z funkcji {{m|Ramka|N}}.
Szablon {{s|Q}} parametry nienazwane większe od jeden, ale nie pierwszy parametr, jego numer zmniejsza o jeden, a inne pozostawia je w takiej formie, jakim są (parametry nazwane, które są wliczane do parametrów szablonu). W ten sposób wywołujemy szablon podany jako pierwszy parametr tego szablonu z tymi tak uzyskanymi parametrami.
==== Przykłady użycia funkcji {{s|Ramka|Q}}, a zarazem szablonu {{s|Q}} ====
* {{Code|{{s|Q|Unicode-c|wstecz{{=}}13|dalej{{=}}15}}}} →
{{OverflowWiersz|{{T|Unicode-c|wstecz=13|dalej=15}}}}
=== {{Śródtytuł|p.N}}{{Code|p.N}} ===
Funkcja uruchamiana we wnętrzu szablonu {{s|N}}, która przyjmuje jego parametry bez {{Parametr|wyspecjalizowana}}, i tak samo działa, jak on.
Funkcja przed nazwą szablonu, czy modułu, czy kategorii, zostawia wpis w postaci przedrostka: {{Code|Książka:}}. Czy zostanie dodana przed tym nazwa przestrzeni nazw, to zależy od niepodania niepustej zmiennej {{Parametr|n}}, a zmienna {{Parametr|p|1}} - to przed nim jest dodawana przestrzeń nazw szablonu {{Np|Template|link=tak}}, {{Parametr|p|2}} - modułu {{Np|Module|link=tak}} i {{Parametr|p|3}} - kategorii.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.N=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
Szablon {{s|N}}, a zarazem funkcja {{s|Ramka|N}} ze strony parametrów ramki, przyjmuje tylko jeden parametr {{Parametr|1}}, którą jest nazwa niepełna szablonu, modułu, czy kategorii.
Szablon {{Code|{{s|N|<nazwa strony>|p{{=}}{{!(}}0{{!}}1{{!}}2{{)!}}|n{{=}}tak}}}} przyjmuje parametry oznaczające:
* {{Code|p}}, tzn. {{Parametr|p|0}} lub niepodana, oznacza przestrzeń szablonu, {{Parametr|p|1}} przestrzeń modułu i {{Parametr|p|2}} przestrzeń kategorii.
* {{Code|n}}, gdy pusta lub niepodana oznacza pełną nazwę strony, a gdy jest niepusta, tylko nazwę strony.
==== Przykłady użycia funkcji {{m|Ramka|N}} i szablonu {{s|N}} ====
* {{Code|{{s|N|Unicode-c}}}} → {{Code|{{N|Unicode-c}}}}, {{Code|{{s|N|Unicode-c|n{{=}}tak}}}} → {{Code|{{N|Unicode-c|n=tak}}}}
* {{Code|{{s|N|Unicode-c|p{{=}}0}}}} → {{Code|{{N|Unicode-c|p=0}}}}, {{Code|{{s|N|Unicode-c|p{{=}}0|n{{=}}tak}}}} → {{Code|{{N|Unicode-c|p=0|n=tak}}}}
* {{Code|{{s|N|Zbiór zadań maturalnych|p{{=}}1}}}} → {{Code|{{N|Zbiór zadań maturalnych|p=1}}}}, {{Code|{{s|N|Zbiór zadań maturalnych|p{{=}}1|n{{=}}tak}}}} → {{Code|{{N|Zbiór zadań maturalnych|p=1|n=tak}}}}
* {{Code|{{s|N|Zbiór zadań maturalnych/Szablony|p{{=}}2}}}} → {{Code|{{N|Zbiór zadań maturalnych/Szablony|p=2}}}}, {{Code|{{s|N|Zbiór zadań maturalnych/Szablony|p{{=}}2|n{{=}}tak}}}} → {{Code|{{N|Zbiór zadań maturalnych/Szablony|p=2|n=tak}}}}
=== {{Śródtytuł|p.A}}{{Code|p.A}} ===
Funkcja uruchamiana we wnętrzu szablonu {{s|A}}, która przyjmuje jego parametry, i tak samo działa, jak on.
Funkcja usuwa przedrostek {{Code|Książka:}} w nazwie szablonu, czy modułu. Gdy jest podany parametr: {{Parametr|p|tak}}, to dla przestrzeni niebędących: {{Np|Template|link=tak}}, {{Np|Module|link=tak}} i {{Np|Category|link=tak}}, jest zwracany wtedy przez nią parametr pierwszy funkcji. Dla tych wartości właśnie wyliczonych przestrzeni usuwany jest przedrostek {{Code|Książka:}}. Funkcja generuje nazwę z prestrzenią nazw.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.A=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
Szablon {{s|A}}, a zarazem funkcja: {{m|Ramka|A}}, z nazwy szablony (bez przestrzeni nazw) usuwa przedrostek {{Code|Książka:}}.
Szablon {{Code|{{s|Q|<nazwa strony>|p{{=}}{{!(}}0{{!}}1{{!}}2{{)!}}}}}} przyjmuje parametry oznaczające:
* {{Code|p}} - oznacza, którą przestrzeń ma rozwazać, dostępne są trzy wariany, jak w funkcji: {{Code|p.N}} {{LinkŚródtytuł|p.N}},
* {{Code|n}} - gdy pusta lub niepodana, to oznacza pełną nazwę strony, a gdy jest pusta, tylko nazwę strony.
==== Przykład wykorzystania szablonu {{s|A}}, a zarazem funkcji funkcji {{m|Ramka|A}} ====
* {{Code|{{s|A|{{N|Unicode-c|n=tak}}}}}} → {{Code|{{A|{{N|Unicode-c|n=tak}}}}}}, {{Code|{{s|A|{{N|Unicode-c}}|p{{=}}0}}}} → {{Code|{{A|{{N|Unicode-c}}|p=0}}}}
== Funkcje powtarzania ==
=== {{Śródtytuł|p.Powtarzaj}}{{Code|p.Powtarzaj}} ===
Funkcja służy do powtarzalnego generowania wikikodu ze składników jego kroku przy pomocy określonych zmiennych rodzica.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.Powtarzaj = function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
Funkcja może przyjmować tylko parametry nienazwane albo tylko nazwane, albo nienazwane i nazwane (gdy jest ustawiony parametr {{Code|różne}} {{Patrz|różne}}).
Funkcja jako podany parametr pierwszy:
<syntaxhighlight lang="mediawiki">
{{#invoke:Ramka|Powtarzaj|1=<wikikod>}}
</syntaxhighlight>
iteruje po podanych parametrach, jako parametry szablonu w zależności od parametrów ramki, zastępując pewne wielkości. Te wielkości to:
* {{Code|{{((}}_{{))}}}} (w nawiasach klamrowych podwójnych jest jeden dolny myślnik) - parametr numerowany przyjmujący wartość numerowaną od więcej od {{Code|1}} lub {{Code|1}},
* {{Code|{{((}}__{{))}}}} (w nawiasach klamrowych podwójnych są dwa dolne myślniki) - parametr numerowany przyjmujący wartość numerowaną od więcej od {{Code|1}} albo {{Code|1}} lub ciąg pusty (wtedy tutaj dla jedynki, jeżeli zmienna: {{Code|<zmienna> 1}} lub {{Code|<zmienna>1}}, istnieje, a teraz dla ciągu pustego, jeżeli zmienna {{Code|<zmienna>}} istnieje), one są podane w zmiennych parametrach szablonach, jeżeli w nich wywołana jest ta ramka wywołującą tę funkcję.
Parametrem określającym, że brane są pod lupę parametry nazwane i nienazwane, jest zmienna {{Code|różne}} {{LinkPatrz|różne}}, która wtedy ma wskazywać na wartość niepustą.
; Najważniejsze parametry, które są to opcjonalne, to są{{dk}}
{{OpisParametrów
| 1 = {{Code|start}} {{Patrz|start}} | _1 = Liczba, która wskazuje początek liczenia - domyślna wartość to {{Code|1}}.
| 2= {{Code|koniec}} {{Patrz|koniec}} | _2 = Liczba, która wskazuje koniec liczenia.
}}
; Parametr {{Code|dodatkowe}} {{Patrz|dodatkowe}}{{dk}}
* Te parametry nie są wliczane do maksimum parametrów nazwanych, dla jakieś podstawy razem wszystkich parametrów, są określone przez: {{Code|dodatkowe}}, która jest zestawem podstaw parametrów oddzielonych średnikami. Przykładem jego jest:
* {{Parametr|dodatkowe|<zmienna 1>;<zmienna 2>;<zmienna 3>}}
: Gdzie zamiast zmiennych {{Code|<zmienna 1>,...}} są pewne nazwy baz parametrów nazwowych bez numerka na samym końcu i ewentualnie spacji.
; Numer końca liczenia parametrów nienazwanych lub nazwanych, czy nazwanychi nienazwanych{{dk}}
* Elementy w {{Code|parametry}} {{Patrz|parametry}} mogą modyfikować odpowiednio parametry: {{Code|start}} {{LinkPatrz|start}} i {{Code|koniec}} {{LinkPatrz|koniec}}.
* Ze zmiennej {{Code|parametry}} {{LinkPatrz|parametry}} jest liczona odpowiednia zmienna {{Code|tabela}} {{LinkPatrz|tabela}} dopuzczalnych zmiennych do liczenia.
* {{P|Funkcja {{Code|Wylicz_skoncz_na_koncu}}, którego algorytm podany jest w tej funkcji, ona liczy odpowiedni koniec parametrów '''nienazwanych''' albo '''nazwanych - odpowiednich''' (bez parametrów {{Code|dodatkowe}} {{LinkPatrz|dodatkowe}}), albo maksimum parametrów '''nienazwanych''' i '''nazwanych - właściwych'''.}} {{P|W tej funkcji jest liczony koniec parametrów nienazwanych, jeżeli nie ma parametrów nazwanych w tabeli {{Code|tabela}} {{Patrz|tabela}}. A przeciwnie, jeżeli nie jest ustawiony parametr {{Code|różne}} {{LinkPatrz|różne}} nie na wartość niepustą, wtedy jest liczony parametr maksimum parametrów nazwanych, przeciwnie wtedy liczy się parametr maksimum numeracyjne parametrów numerowanych, czyli zmienną: {{Code|maksimum numeracyjne}} {{Patrz|maksimum numeracyjne}}, jeśli on ma wartość niepustą, wtedy liczy się maksimum parametrów nienazwanych, a jeżeli ona ma przeciwną wartość, to się liczy maksimum parametrów nazwanych, jak nienazwanych. Na podstawie tego mamy policzony odpowiednio taki koniec liczenia modyfikacji zwracany i policzony przez tą funkcję.}}
; Format parametru {{Parametr|parametry}}{{dk}}
* Funkcja przyjmuje ważny parametr {{Code|parametry}} dla parametrów specjalnie nazwanych. Elementy w nim są oddzielone średnikami dla każdej zmiennej z osobna, a dla danej zmiennej zmienne są przedzielone przecinkami.
* Na początku tego jest opcjonalny element naturalny wspólny dla wszystkich zmiennych oddzielonych od pozostałych elementów średnikiem, jeżeli istnieją.
* Nie licząc wspólnego elementu dla wszystkich parametrów, to dla danej zmiennej liczba maksymalna elementów podanych po kolei jest równa liczbie {{Code|5}}, oddzielonych przecinkami, dla takiego samego parametru, już natomiast średnikami dla różnych.
; Opis parametru {{Parametr|parametry}}{{dk}}
Dla danej zmiennej elementy oddzielone przecinkami piszemy w formie:
* element pierwszy, to jest parametr, jeżeli niepusty, określający, że pomiędzy podstawą elementu, a liczbą, ma być zero spacji,
* element drugi, to jest parametr, jeżeli niepusty, określający, że dla pierwszego elementu ma pisać jedynkę zamiast jedynki lub wartości pustej w zależności od istnienia takiej pierwszej zmiennej,
* element trzeci, to jest parametr, jest to liczba przesunięcia, od której ma liczyć parametr nazwany,
* element czwarty, to jest parametr określający, od jakiej liczby ma zaczynać na początku od dodatniego wskaźnika (zmiennej), brana jest liczba minimalna dodatnia, ze wszystkich takich liczb, uwzględniając element, od którego startuje liczenie,
* element piąty, to jest parametr określający, do jakiej liczby ma kończyć iterację dla danego wskaźnika (zmiennej), jako koniec liczenia brana jest liczba maksymalna dodatnia, ze wszystkich takich liczb, uwzględniając na początku policzony powyżej koniec liczenia.
Przykładem tego parametru dla danej zmiennej jest: {{Code|tak,tak,5,3,4}}, a z dodatkiem globalnego przesunięcia dla wszystkich zmiennych: {{Parametr|parametry|5;<zmienna>{{=}}tak,tak,5,3,4}}, a dla wielu zmiennych:
{{Pre|{{Parametr|parametry|5;<zmienna 1>{{=}}tak,tak,5,3,4;<zmienna 2>{{=}}tak,,10,7,9;<zmienna 3>{{=}},tak,8,9,11}}}}
: Zamiast w wartościach: {{Code|zmienna 1>}}, {{Code|<zmienna 2>}} i {{Code|<zmienna 3>}}, w których są pewne nazwy bazowe parametrów bez numerka na jej końcu, w zmiennej {{Code|parametry}} można nie podawać dalszych elementów po przecinku, jeżeli są puste lub nieważne (nic nie zmieniają) lub można nie podać nic po znaku {{Code|{{=}}}} (a w tym przypadku nawet można nie podawać nawet tego znaku, gdy nic nie ma po równa się) dla danego problemu funkcji.
; Wikikod pojedynczego kroku liczenia całości wygenerowanego wikikodu dla wszystkich zmiennych{{dk}}
* Parametrem {{Parametr|1|<wikikod>}}, którego wartość, jest wikikodem do iteracji, gdy ten parametr nie jest podany, to funkcja zwraca wartość {{Code|(brak parametru do analizy)}}, a gdy ten parametr jednak jest podany, ale jest ciągiem pustym, wtedy wartość zwracana jest {{Code|(parametr do analizy pusty)}}.
; Parametr {{Parametr|start}}, wartość początkowa{{dk}}
* Gdy parametr {{Code|tonumber(frame.args["start"]) or 1}}, jest równy zero, funkcja zwraca błąd: {{Code|(początek jest ustawiony na zero)}}.
; Brak parametrów szablonu{{dk}}
* A jeżeli zatem żaden parametr nie jest podany, to można użyć argumentu {{Code|niepodane}}, która wygeneruje jeden krok, tylko jeden, iteracji.
; Parametr {{Parametr|nic}}{{dk}}
* Gdy {{Code|nic}} przyjmuje wartość, i gdy pomijamy parametr, lub on przyjmuje wartość pustą, wtedy a funkcja nie może wygenerować żadnego kroku iteracji, to wtedy jest zwracana wartość parametru {{Code|nic}} lub ciąg pusty.
; Inne parametry{{dk}}
* Parametr {{Code|po kolei}} {{Patrz|po kolei}} niepusty powoduje, że zbieranie parametrów odbywa się od pewnego miejsca i idzie w sposób ciągły do góry, co jeden, aż do pewnej granicy.
* Parametr {{Code|zaznacz}} {{Patrz|zaznacz}} liczby oddzielone średnikami, które przy parametrach nazwanych o pewnych numerach i numerkach nie mają być uwzględnione przy niepustym parametrze {{Code|po kolei}} {{LinkPatrz|po kolei}}, a przy jego przeciwnej wartości za to mają być użyte.
* Parametr {{Code|wytnij}} wycina parametry puste i niepodane, a {{Code|wytnij puste}} tylko puste, ale {{Code|nie wytnij nazwane}} nie wycina parametrów nazwanych.
* Znacznik {{Code|_i}} {{Patrz|_i}} określa symbol, jak ona może być używana do zastępowania zmiennych typu {{Code|<nowiki>{{((}}_i{{))}}</nowiki>}} i {{Code|<nowiki>{{((}}_i_i{{))}}</nowiki>}}, wtedy ich się używa zamiast: {{Code|<nowiki>{{((}}_{{))}}</nowiki>}} i {{Code|<nowiki>{{((}}__{{))}}</nowiki>}}. Domyślną wartością {{Code|_i}} jest {{Code|_}}.
; W wyniku iteracji otrzymamy tablicę ciągów łańcuchów z wikikodami, wtedy ta funkcja używa do tego liczenia{{dk}}
* Jest to funkcja {{LinkŚródtytuł|BudowaSzereguZDanych}}.
* Wywołanie funkcji jest takie:
{{Pre|lancuch_znakow {{=}} BudowaSzereguZDanych(frame,tab_lancuch,minimum or 0,maksimum);}}
; Parametry funkcji {{LinkŚródtytuł|BudowaSzereguZDanych}}.
* One są wraz z jego parametrami podane w postaci jego parametrów ramki {{Code|frame}}, które jednocześnie są parametrami {{LinkŚródtytuł|p.Powtarzaj}}, używa się je do łączenia w pewien określony zbiór uporządkowanych ciągów do jednego łańcucha, który jest zwracany bezpośrednio przez tę funkcję bez rozwijania przy parametrze {{Parametr|nie rozwiń|tak}}, a gdy on nie przyjmuje wartości niepustej, w takim razie on jest rozwijany funkcją {{LzLua|frame:preprocess}}, i jest zwracany jako wartość omawianej funkcji.
; Przykłady{{dk}}
* Funkcja jest używana np. w silnikach szablonów, np.: {{s|Osobny artykuł/silnik}} silnik szablonu {{s|Osobny artykuł}}, jak i do niego podobnych szablonów, wykorzystujących ten właśnie silnik. Również przykładem jest: {{s|Kategoria główna/silnik}} szablonu {{s|Kategoria główna}} i innych, którego jest on silnikiem. A nawet podobnie jest z: {{s|Spójrz też/silnik}} szablonu {{s|Spójrz też}}. Podobnie się definiuje inny szablon, który drukuje nierozwinięty wikikod ze składników przy pomocy parametrów, który po włączeniu do większego kodu, dopiero wtedy jest rozwijany, przykładem tego jest: {{s|Wybrane grupy książek}}.
=== {{Śródtytuł|p.PowtarzajOdDo}}{{Code|p.PowtarzajOdDo}} ===
Funkcja służy do iteracji, od jakieś liczby do jakieś innej, podanego wikikodu dla danego kroku {{Code|1}}, iterując to, co krok określony zmienną: {{Code|krok}}.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.PowtarzajOdDo=function(frame)...end;
</syntaxhighlight>
; Funkcja tworzy wikikod do rozwinięcia, np. przez funkcję{{dk}} {{nobold|{{Code|{{m|Ramka|Rozwiń}}}}}}, lub go rozwija na końcu, na podstawie kolejnych kroków iteracji{{dk}}
{{OpisParametrów
| 1 = {{Code|start}} | _1 = Początek iteracji dokonywany przez ta funkcję.
| 2 = {{Code|koniec}} | _2 = Koniec iteracji dokonywany przez ta funkcję.
| 3 = {{Code|krok}} | _3 = Krok iteracji, co który numer ma iterować.
| 4 = {{Code|łącznik}} |_4 = Szereg łączących elementy z wikikodem, a jak nie ma tego elementu podanego, to czy ma być oddzielony nową linią na podstawie zmiennej {{Code|nowa linia}}, a jeżeli to nawet nie jest podane, to podany ciąg jest łączony poprzez szereg pusty.
| 5 = {{Code|nowa linia}} |_5 = Szereg mówiący, czy ma łączyć szeregi kodem nową linią, jeżeli {{Code|łącznik}} nie jest podany.
| 6 = Ta zmienna w każdym kroku iteracji zależna jest od: {{Code|<nowiki>{{_}}</nowiki>}} i {{Code|<nowiki>{{ciąg}}</nowiki>}}, mówiąca o numerze jego kroku:|nagłówek6=tak
| 7 = {{Code|przeskok}} | _7 = Dodatkowy krok, nie licząc jedynki, jak ma iterować ciąg.
| 8 = Inne:| nagłówek8=tak
| 9 = {{Code|nie rozwiń}} | _9 = Niepusta wartość, wtedy kod nie jest rozwijany, jeśli uzyskany kod nie jest rozwijany, w końcowym etapie można go rozwinąć przy pomocy funkcji {{m|Ramka|Rozwiń}}.
| 10 = {{Code|1}} | _10 = Aktualny wikikod ze zmiennymi poniżej przedstawiający aktualny krok iteracji, z którego dla każdego elementu te ciągi są łaczone za pomocą łącznika.
}}
; Zmienne w kodzie{{dk}} {{nobold|{{Code|1}}}} i {{nobold|{{Code|przeskok}}}} (jeżeli podana), podstawiane w nich pewne zmienne, które zamiast nich pewne liczby coś symbolizujące{{dk}}
{{OpisParametrów
| 1 = {{Code|<nowiki>{{start}}</nowiki>}} | _1 = Przyjmuje wartość {{Tt|1}}.
| 2 = {{Code|<nowiki>{{koniec}}</nowiki>}} | _2 = Przyjmuje wartość, który jest liczbą elementów w ciągu oddzielonych średnikami w zmiennej {{Code|ciąg}}.
| 3 = {{Code|<nowiki>{{krok}}</nowiki>}} | _3 = Przyjmuje wartość {{Tt|1}}.
}}
; Zmienne inne za każdym krokiem iteracji, z których korzystają{{dk}} {{nobold|{{Code|1}}}} i {{nobold|{{Code|przeskok}}}}{{dk}}
{{OpisParametrów
| 1 = {{Code|<nowiki>{{_}}</nowiki>}} | _1 = symbol, za którą jest podstawiana liczba przyjmująca aktualną wartość numeru iteracji.
}}
; Przykładowym kodem jest kod, którego wikikod znajduje się szablonie w silniku{{dk}} {{nobold|{{s|Chem/silnik}}}}, w tym nadrzędnym{{dk}} {{nobold|{{s|Chem}}}}, przykłady jego działania{{dk}}
* {{Code|{{s|Chem|C|n|H|2n + 2}}}} → {{Tt|{{Chem|C|n|H|2n + 2}}}}
* {{Code|{{s|Chem|H|3|O|+}}}} → {{Tt|{{Chem|H|3|O|+}}}}
* {{Code|{{s|Chem|SO|4|2-}}}} → {{Tt|{{Chem|SO|4|2-}}}}
* {{Code|{{s|Chem|4|He}}}} → {{Tt|{{Chem|4|He}}}}
* {{Code|{{s|Chem|4|2|He}}}} → {{Tt|{{Chem|4|2|He}}}}
Na podstawie tej funkcji dokonano w szablonie {{s|Chem}}, że ona może przyjmować dowolną liczbę parametrów numerowanych.
=== {{Śródtytuł|p["PrzetwarzajIterującCiąg"]}}{{Code|p["PrzetwarzajIterującCiąg"]}} ===
Funkcja do iteracji wikikodu po parametrach oddzielonych średniami w parametrze ramki {{Code|ciąg}}.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PrzetwarzajIterującCiąg"]=function(frame)...end;
</syntaxhighlight>
; Funkcja do iteracji ciągu z wikikodem i pewnymi zmiennymi{{dk}}
{{OpisParametrów
| 1 = {{Code|ciąg}} | _1 = Lista parametrów oddzielonych średnikami, z którego jest tworzona tablica z elementów pomiędzy srednikami.
| 2 = {{Code|łącznik}} | _2 = Szereg łączących elementy z wikikodem, a jak nie ma tego elementu podanego, to czy ma być oddzielony nową linią na podstawie zmiennej {{Code|nowa linia}}, a jeżeli to nawet nie jest podane, to podany ciąg jest łączony poprzez szereg pusty.
| 3 = {{Code|nowa linia}} | _3 = Szereg mówiący, czy ma łączyć szeregi kodem nową linią, jeżeli {{Code|łącznik}} nie jest podany.
| 4 = Ta zmienna w każdym kroku iteracji zależna jest od: {{Code|<nowiki>{{_}}</nowiki>}} i {{Code|<nowiki>{{ciąg}}</nowiki>}}, mówiąca o numerze jego kroku:|nagłówek4=tak
| 5 = {{Code|przeskok}} | _5 = Dodatkowy krok, nie licząc jedynki, jak ma iterować ciąg.
| 6 = Inne: |nagłówek6=tak
| 7 = {{Code|nie rozwiń}} | _7 = Niepusta wartość, wtedy kod nie jest rozwijany, jeśli uzyskany kod nie jest rozwijany, w końcowym etapie można go rozwinąć przy pomocy funkcji {{m|Ramka|Rozwiń}}.
| 8 = {{Code|1}} | _8 = Aktualny wikikod ze zmiennymi poniżej przedstawiający aktualny krok iteracji, z którego dla każdego elementu te ciągi są łaczone za pomocą łącznika.
}}
; Zmienne w kodzie{{dk}} {{nobold|{{Code|1}}}} i {{nobold|{{Code|przeskok}}}} (jeżeli podana), podstawiane w nich pewne zmienne, które zamiast nich pewne liczby coś symbolizujące{{dk}}
{{OpisParametrów
| 1 = {{Code|<nowiki>{{start}}</nowiki>}} | _1 = Przyjmuje wartość {{Tt|1}}.
| 2 = {{Code|<nowiki>{{koniec}}</nowiki>}} | _2 = Przyjmuje wartość, który jest liczbą elementów w ciągu oddzielonych średnikami w zmiennej {{Code|ciąg}}.
| 3 = {{Code|<nowiki>{{krok}}</nowiki>}} | _3 = Przyjmuje wartość {{Tt|1}}.
}}
; Zmienne inne za każdym krokiem iteracji, z których korzystają{{dk}} {{nobold|{{Code|1}}}} i {{nobold|{{Code|przeskok}}}}{{dk}}
{{OpisParametrów
| 1 = {{Code|<nowiki>{{_}}</nowiki>}} | _1 = Symbol, za którą jest podstawiana liczba przyjmująca aktualną wartość numeru iteracji.
| 2 = {{Code|<nowiki>{{ciąg}}</nowiki>}} | _2 = Jest to wartość pojedynczego elementu w {{Code|ciąg}}.
}}
Przykładowym kodem jest kod, którego część znajduje się tutaj, z szablonu {{s|Status}}:
<syntaxhighlight lang="mediawiki">
{{#invoke:Ramka|PrzetwarzajIterującCiąg
| ciąg = {{{junior}}}
| przeskok = 0
| 1 = {{((}}#if:{{((}}ciąg{{))}}
{{!}}{{((}}#invoke:Ramka{{!}}Szablon
{{!}}parametry funkcji modułu pudełek{{=}}tak
{{!}}Nazwa{{=}}Kategoria{{!}}Wikijunior:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}
{{))}}
{{))}}
}}
</syntaxhighlight>
Wartością w tym przypadku zmiennej szablonowej {{Code|<nowiki>{{{junior}}}</nowiki>}} jest kolejny parametr, oddzielonych od pozastałych średniami, z: {{Parametr|junior|Owoce;Warzywa}}. Ta funkcja najpierw iteruje po wartości {{Code|Owoce}}, a później po {{Code|Warzywa}}.
Powyższy kod, uzyskany w ten sposób wikikod jest rozwijany za pomocą funkcji systemowej {{lpg|Lua}} w {{lpr|Lua|Scribunto}}: {{LzLua|frame:preprocess}}, jeśli: {{Code|nie rozwiń}}, nie przybiera wartości niepustej.
=== {{Śródtytuł|p["PowtarzajWedług"]}}{{Code|p["PowtarzajWedług"]}} ===
Funkcja wyszukująca elementy według wzoru począwszy od numeru, określonego przez {{Code|start}}, aż do zakończenia danych kolenych sprawdzania od tej liczby, czy taka strona istnieje, numerek jest określony przez pewien wikikod, określony przez {{Code|<nowiki>{{_}}</nowiki>}}, który musi być podany we wzorze {{Code|wzor}}. Ona w ten sposób dla istniejących stron ustawia pewne łańcuchy, które są łączone znakami {{Code|", "}}, a na końcu samym {{Code|" i "}}.
Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PowtarzajWedług"] = function(frame)...end;
</syntaxhighlight>
; Funkcja wyszukuje, ile jest stron o danym wzorze, np.dla stron o podstawie strony{{dk}} {{nobold|„{{Ns:Template}}{{dk}}Polecane książki/”}}, a oto przykład{{dk}}{{nobold|{{Parametr|wzór|{{Ns:Template}}{{dk}}Polecane książki/{{((}}_{{))}}}}}}{{dk}}
{{OpisParametrów
| 1 = {{Code|start}} | _1 = Od jakiej liczby ma liczyć strony (domyślną wartością jest {{Code|1}}, od której zaczyna się liczenie stron o podany wzorze numeracyjnym).
| 2 = Parametr {{Code|wzór}} ma w sobie {{font|color=blue|<nowiki>{{_}}</nowiki>}}, za którą podstawiany jest numer w postaci liczby naturalnej innej niż zero:|nagłówek2=tak
| 3 = {{Code|wzór}} | _3 = Wzór według tego, co ma sprawdzając, czy one pasują do niego.
}}
=== Przykłady użycia ===
Przykład z tą funkcją znajduje się w kodzie w szablonie: {{s|Lista wybranych książek}}, która po wywołaniu wypluwa wynik:
* Szablon wypluwający listę stron według wzoru w postaci tekstu:
** {{Code|{{s|Lista wybranych książek|Polecane książki}}}} → {{Tt|{{Lista wybranych książek|Polecane książki}}}}
** {{Code|{{s|Lista wybranych książek|Nowe podręczniki miesiąca}}}} → {{Tt|{{Lista wybranych książek|Nowe podręczniki miesiąca}}}}
** {{Code|{{s|Lista wybranych książek|Wyróżnienia książek miesiąca}}}} → {{Tt|{{Lista wybranych książek|Wyróżnienia książek miesiąca}}}}
* Szablon wypluwający listę stron według wzoru w postaci linków:
** {{Code|{{s|Lista wybranych książek|Polecane książki|link{{=}}tak}}}} → {{Tt|{{Lista wybranych książek|Polecane książki|link=tak}}}}
** {{Code|{{s|Lista wybranych książek|Nowe podręczniki miesiąca|link{{=}}tak}}}} → {{Tt|{{Lista wybranych książek|Nowe podręczniki miesiąca|link=tak}}}}
** {{Code|{{s|Lista wybranych książek|Wyróżnienia książek miesiąca|link{{=}}tak}}}} → {{Tt|{{Lista wybranych książek|Wyróżnienia książek miesiąca|link=tak}}}}
== {{Śródtytuł|p["LiczbaPrawychUkośników"]}}{{Code|p["LiczbaPrawychUkośników"]}} ==
Funkcja liczy, ile jest prawych ukośników w adresie strony podany jako pierwszy parametr ramki.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["LiczbaPrawychUkośników"] = function(frame)...end;
</syntaxhighlight>
Szablon wyszukuje liczbę prawych ukośników w wielopoziomowym adresie strony.
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Jeżeli ten adres nie zawiera tych ukośników, to funkcja zwraca wartość {{Tt|0}}:|nagłówek1=tak
| 2 = {{Code|1}} | _2 = Wielopoziomowy adres z ewentualnie prawymi ukośnikami.
}}
=== Przykład użycia ===
* {{Code|{{m|Ramka|LiczbaPrawychUkośników|1{{=}}Podstawia/Poziom_1/Poziom_2/Poziom_3/Poziom_4/Poziom_5}}}} → {{Tt|{{#invoke:Ramka|LiczbaPrawychUkośników|1=Podstawia/Poziom_1/Poziom_2/Poziom_3/Poziom_4/Poziom_5}}}}
== {{Śródtytuł|p["MaksymalnaLiczbaNumerowanychIstniejącychStronWedługWzoru"]}}{{Code|p["MaksymalnaLiczbaNumerowanychIstniejącychStronWedługWzoru"]}} ==
Funkcja liczy maksymalny numer kolejnej strony liczonej według wzoru {{Code|wzor}}, musi być we wzorze podany element {{Code|<nowiki>{{_}}</nowiki>}}, aby mógł to robić.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["MaksymalnaLiczbaNumerowanychIstniejącychStronWedługWzoru"] = function(frame)...end;
</syntaxhighlight>
Funkcja wyszukuje, ile jest stron o danym wzorze, np. dla stron o podstawie „{{Ns:Template}}:Polecane książki/”, czyli dla stron o ogólnym wzorze: {{Parametr|wzór|{{Ns:Template}}:Polecane książki/{{((}}_{{))}}}}.
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|start}} | _1 = Od jakiej liczby ma liczyć strony (domyślną wartością jest {{Code|1}}, od której zaczyna się liczenie stron o podany wzorze numeracyjnym).
| 2 = {{Code|wzór}} | _2 = Wzór według tego, co ma sprawdzając, czy one pasują do niego.
}}
Parametr {{Code|wzór}} ma w sobie {{font|color=blue|<nowiki>{{_}}</nowiki>}}, za którą podstawiany jest numer w postaci liczby naturalnej innej niż zero.
=== Przykłady użycia ===
Przykład z tą funkcją znajduje się w kodzie w szablonie: {{s|Liczba list wybranych książek}}, która po wywołaniu wypluwa wynik:
* {{Code|{{s|Liczba list wybranych książek|Polecane książki}}}} → {{Tt|{{Liczba list wybranych książek|Polecane książki}}}}
* {{Code|{{s|Liczba list wybranych książek|Nowe podręczniki miesiąca}}}} → {{Tt|{{Liczba list wybranych książek|Nowe podręczniki miesiąca}}}}
* {{Code|{{s|Liczba list wybranych książek|Wyróżnienia książek miesiąca}}}} → {{Tt|{{Liczba list wybranych książek|Wyróżnienia książek miesiąca}}}}
== Parametry odpowiednikowych zmiennych ==
=== {{Śródtytuł|p["MinimalnyNumerSpośródOdpowiednikowychZmiennych"]}}{{Code|p["MinimalnyNumerSpośródOdpowiednikowychZmiennych"]}} ===
Zmienna może być napisana w postaci zmiennej nienazwanej lub nazwanej, zmienną {{Code|zmienna}} (to musi być bez numerka) z numerkiem na końcu. Funkcja liczy minimalny numer takich zmiennych.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["MinimalnyNumerSpośródOdpowiednikowychZmiennych"]=function(frame)...end;
</syntaxhighlight>
Szablon szuka minimalny numer wśród zmiennych szablonu, o pewnej podstawie, tego numerowanego, o schemacie: {{Code|<zmienna>(%d*)}}.
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna}} | _1 = Podstawa parametru numerowanego liczbami lub ciągiem pustym.
| 2 = {{Code|numerowane}} | _2 = Czy ma wliczać parametry numerowane do tego numeru.
}}
Szablon przekształca wartość parametru {{Code|zmienna}} do czystego tekstu, względem wyrażeń regularnych {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Parametry: {{Code|zmienna}} i {{Code|numerowane}}, to parametry ramki.
==== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ====
* Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Ramka/MinimalnyNumerSpośródOdpowiednikowychZmiennych}}.
=== {{Śródtytuł|p.IleJestTakichOdpowiednikowychZmiennych}}{{Code|p.IleJestTakichOdpowiednikowychZmiennych}} ===
Zmienna może być napisana w postaci zmiennej nienazwanej lub nazwanej, zmienną {{Code|zmienna}} (to musi być bez numerka) z numerkiem na końcu. Funkcja liczy ile jest takich zmiennych.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.IleJestTakichOdpowiednikowychZmiennych=function(frame)...end;
</syntaxhighlight>
Funkcja szuka wśród parametrów szablonu, o pewnej podstawie, tego numerowanego, o schemacie: {{Code|<zmienna>(%d*)}}, ile jest takich zmiennych, o tych numerkach, w parametrach szablonu.
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna}} | _1 = Podstawa nazwowa parametru numerowanego.
| 2 = {{Code|numerowane}} | _2 = Czy ma wliczać parametry numerowane do tej liczby.
}}
Szablon przekształca wartość parametru {{Code|zmienna}} do czystego tekstu, względem wyrażeń regularnych {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Parametry: {{Code|zmienna}} i {{Code|numerowane}}, to parametry ramki.
==== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ====
* Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Ramka/IleJestTakichOdpowiednikowychZmiennych}}.
== {{Śródtytuł|p["Parametr w tablicy nazw"]}}{{Code|p["Parametr w tablicy nazw"]}} ==
Funkcja bada, czy jest taki parametr {{Code|pozycja}} w tablicy nazw określonej zmienną {{Code|parametry}}, której elementy są oddzielone średnikami.
* Funkcję uruchamia się w ramce jako dziecko w jakimś szablonie rodzicu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Parametr w tablicy nazw"]=function(frame)...end;
</syntaxhighlight>
Funkcja wywoływana w postaci ramki szuka parametru w tablicy podanych parametrów.
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|parametry}} | _1 = Lista parametrów oddzielonych średnikiem.
| 2 = {{Code|pozycja}} | _2 = Szukany parametr w tablicy argumentów.
| 3 = {{Code|od dużej}} | _3 = Czy parametr: {{Code|pozycja}}, i elementy listy: {{Code|parametry}}, mają być zamieniane od dużej litery.
}}
Funkcja, jeżeli wyszukała w tej tablicy parametr (pozycję) zwraca wartość {{Code|tak}}, w przeciwnym wypadku zwraca {{Code|nil}}, a to ostatnie jest to wartość języka {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, która po transformacji na wikikod jest zamieniana na ciąg pusty, więc ona nadaje się do instrukcji warunkowych.
==== Przykład wywołania ramki z tą funkcją na stronie opisu szablonu ====
* Popatrz na wywołania tej funkcji w ramce, {{lpg|Lua}} w {{lpr|Scribunto}}, czyli: {{s|Wikibooks/Przykład/Ramka/Parametr w tablicy nazw}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
tpvoj8h55ylhupv1v9zogl4xjui8o89
Wikibooks:Moduły/Książkowe
4
63252
560578
560084
2026-11-04T08:50:07Z
Persino
2851
560578
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Książkowe}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local ksiazkowe_modul=require("Module:Książkowe");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł służy do obsługi na nazwach pełnych nazw stron {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, które są odpowiednio przekształcone, nie jak w funkcjach nazw {{ld2|Nazwy}}, która służy na bezpośredniego operowania na nazwach bez transformatowania nazw, a {{ld2|Książkowe}} dodatkowo transformuje nazwy, w fazie początkowej, tzn. jej argument, którym jest pełna nazwa strony, tylko jeden raz, i dzieli go na poszczególne nazwy możliwie minimalne przy pomocy tablicy:
<syntaxhighlight lang="lua">
local tabela_nazw={};
</syntaxhighlight>
która tworzona jest jako pusta tablica, której nie można modyfikować, tylko wsadzać do kolejnych funkcji nazw w omawianym module.
Poniższe funkcje mogą być wywołane w wersji ramkowej jako w postaci wikikodu:
<syntaxhighlight lang="mediawiki">
{{#invoke:Książkowe|NazwaPrzestrzeni|Wikibooks:Moduły/Książkowe}}
</syntaxhighlight>
lub w wersji funkcyjnej programowej w języku {{lpg|Lua}} w {{lpr|Scribunto}}:
<syntaxhighlight lang="lua">
local ksiazkowe_modul=require("Module:Książkowe");
local tabela_nazw={};
local nazwa_oryginalna="Wikibooks:Moduły/Książkowe";
-- Wynikiem poniższego wywołania jest: "Wikibooks";
local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](nazwa_oryginalna,tabela_nazw);
</syntaxhighlight>
Wynikiem powyższego wywołania jest: "Wikibooks", z której są usunięte wszystkie kody HTML i inne elementy według innych funkcji zdefiniowanej podanej do funkcji, czyli nawet w sumie zdekodowania zakodowanej pełnej nazwy strony przedstawionej w postaci zakodowanej w postaci kodów HTML i URL, ze strony nazwy oryginalnej.
Użycie powyżej nazwy: "NazwaPrzestrzeni", jest przykładowe, ale tutaj można użyć innej nazwy symbolizującą funkcję nazw, które są podane poniżej.
Nazwy zakodowane kodami HTML, w tym przypadku mają one wzór: {{Code|&#(%d+)}} lub {{Code|&#x(%x+)}}, według wyrażeń regularnych {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, którym odpowiadają pewne nazwy. Też mogą być zakodowane funkcją: {{LzLua|mw.uri.encode}}, a je odkodowuje się: {{LzLua|mw.uri.decode}}. A to wszystko robi funkcja: {{Code|{{sr|#p.DecodeHtml|p=Html}}}} {{Patrz|p.DecodeHtml}}, do odkodowania nazwy zamiany kodów HTML na odpowiednie znaki, i dekodowania URL adresów stron internetowych, ale tutaj zastosowana do nazw.
== {{Code|NazwaKsiazkawaSilnik}} ==
Funkcja silnik potrzebna do budowy funkcji nazw, podane w poniższych rozdziałach, wykorzystują tę funkcję.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function NazwaKsiazkawaSilnik(frame,funkcja_nazw,tabela_nazw)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki tablicy transportu.
| 2 = {{Code|funkcja_nazw}} | _2 = Funkcja nazw z modułu {{Code|{{ld2|Nazwy}}}} (nazw).
| 3 = {{Code|tabela_nazw}} | _3 = Tabela do szybszego uzyskiwania nazw, odziedziczona z modułu nazw.
}}
Parametry tablicy ramki funkcji tablicy transportu:
{{OpisParametrów
| 1 = {{Code|nazwa}} lub {{Code|1}} | _1 = Pełna, ewentualnie zakodowana URL i HTML, lub inaczej, nazwa przestrzeni nazw w przeciwieństwie do pełnej nazwy według modułu {{ld2|Nazwy}}.
| 2 = {{Code|bez transformacji}} | _2 = Niepuste, wtedy są wywoływane czysto funkcje w {{ld2|Nazwy}} bez żadnego odkodowania URL i HTML.
| 3 = {{Code|funkcja}} | _3 = Dodatkowa funkcja nazw potrzebna do transformacji pełnej nazwy strony, domyślnie jest wywoływana funkcja {{Code|p[""]}}.
| 4 = {{Code|funkcja decode}} | _4 = Nazwa funkcji drugiej do dekodowania, domyślnie jest to {{LinkPatrz|p.DecodeHtml}}.
| 5 = {{Code|moduł}} | _5 = Nazwa modułu, w której jest zawarta funkcja: {{Code|funkcja}}, ale domyślnie dla: {{Code|p[""]}}, jest to o domyślnej nazwie: {{Code|{{ld|Książkowe}}}}.
| 6 = {{Code|moduł decode}} | _6 = Nazwa modułu funkcji: {{LinkPatrz|p.DecodeHtml}}, domyślnie jest to: {{Code|{{Ld|Html}}}}.
}}
Jeżeli zmienna {{Code|bez transformacji}} jest pusta lub niepodana, to względem powyższych zmiennych jest dekodowana, a później transformowana do pewnej wartości w postaci pewnego szeregu nazw. W ten sposób uzyskana nazwa jest zwracana przez funkcję.
Można tworzyć nowe funkcje, nawet te zdefiniowane, i nowo-zdefiniowane przez programistę języka {{lpg|Lua}}, w module {{Code|{{ld2|Książkowe}}}}, przy pomocy schematu:
<syntaxhighlight lang="lua">
p["NazwaFunkcjiNazw"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWAFUNKCJINAZW",tabela_nazw);
end;
</syntaxhighlight>
Przykładem nazwy: {{Code|NazwaFunkcjiNazw}} jest: {{Code|NazwaPrzestrzeni}}, przy drugi parametrze funkcji: {{Code|NazwaKsiazkawaSilnik}}, czyli: {{Code|NAZWAFUNKCJINAZW}}, przyjmuje, wtedy wartość: {{Code|{{sr|#m.NAZWAPRZESTRZENI|p=Nazwy/Tom II}}}}.
Funkcja lub funkcje zdefiniowane do dekodowana podana w postaci parametrów dla wartości zawartch w zmiennych: {{Code|funkcja decode}} i {{Code|moduł decode}}, a nawet do transformacji: {{Code|funkcja}} i {{Code|moduł}}, mogą być umieszczone w dowolnym module lub modułach, lub nawet w module samego programu, a zarazem biblioteki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
== {{Code|p[""]}} ==
Funkcja tożsamościowa nazw, która zwraca wartość taką samą, jaką podaliśmy jako argument.
Definicja pełna funkcji:
<syntaxhighlight lang="lua">
p[""]=function(parametr)
return parametr;
end;
</syntaxhighlight>
Przykłady użycia:
<syntaxhighlight lang="lua">
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_oryginalna="Wikibooks:Moduły/Książkowe";
local nazwa_wyjsciowa=ksiazkowe_modul[""](nazwa_oryginalna);
if(nazwa_oryginalna==nazwa_wyjsciowa)then
return "Dwie nazwy są sobie równe";
end;
return "Dwie nazwy są sobie nierówne";
</syntaxhighlight>
== {{Code|p.NazwaPrzestrzeni}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m.NAZWAPRZESTRZENI|p=Nazwy/Tom II}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia nazwy przestrzeni nazw, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p.NazwaPrzestrzeni|tekst=
<syntaxhighlight lang="lua">
p.NazwaPrzestrzeni=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWAPRZESTRZENI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["NazwaPrzestrzeniKsiążki"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["NAZWAPRZESTRZENIKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia nazwy przestrzeni nazw książki bez nazwy przestrzeni dostępnych na polskim {{NS|l=tak|k=b|w=tak|pk=mj}}, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["NazwaPrzestrzeniKsiążki"]|tekst=
<syntaxhighlight lang="lua">
p["NazwaPrzestrzeniKsiążki"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWAPRZESTRZENIKSIĄŻKI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["NazwaTytułuKsiążki"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["SUBNAZWAKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia sub nazwy książki bez nazwy przestrzeni nazw książki, czyli służy do liczenia tytułu książki, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["NazwaTytułuKsiążki"]|tekst=
<syntaxhighlight lang="lua">
p["NazwaTytułuKsiążki"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"SUBNAZWAKSIĄŻKI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["NazwaArtykułuKsiążki"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["NAZWAARTYKUŁUKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia nazwy artykułu książki bez nazwy książki, ale przed tym wykorzystaniem dekoduje, pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["NazwaArtykułuKsiążki"]|tekst=
<syntaxhighlight lang="lua">
p["NazwaArtykułuKsiążki"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWAARTYKUŁUKSIĄŻKI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["NazwaKsiążki"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["NAZWAKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia nazwy książki bez nazwy przestrzeni nazw dostępne na polskim {{NS|l=tak|k=b|w=tak|pk=mj}}, bez nazwy artykułu danego artykułu, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["NazwaKsiążki"]|tekst=
<syntaxhighlight lang="lua">
p["NazwaKsiążki"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWAKSIĄŻKI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["PełnaNazwaKsiążki"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["PEŁNANAZWAKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia pełnej nazwy książki z przestrzenią nazw ksiązki i z nazwą przestrzeni nazw dostępne na polskim: {{NS|l=tak|k=b|w=tak}}, bez nazwy artykułu podanego artykułu, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["PełnaNazwaKsiążki"]|tekst=
<syntaxhighlight lang="lua">
p["PełnaNazwaKsiążki"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"PEŁNANAZWAKSIĄŻKI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["PełnaNazwaArtykułu"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["PEŁNANAZWASTRONY"]|p=Nazwy/Tom II}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia pełnej nazwy strony (artykułu), ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["PełnaNazwaArtykułu"]|tekst=
<syntaxhighlight lang="lua">
p["PełnaNazwaArtykułu"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"PEŁNANAZWASTRONY",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["NazwaArtykułu"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m.NAZWASTRONY|p=Nazwy/Tom II}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia nazwy stron (artykułów) bez nazwy przestrzeni nazw dostępnych na polskim {{NS|l=tak|k=b|pk=mj}}, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["NazwaArtykułu"]|tekst=
<syntaxhighlight lang="lua">
p["NazwaArtykułu"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWASTRONY",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["PełnaNazwaStronicowejKsiążki"]}} ==
Funkcja liczy nazwę książki, ale wpierw, musi zdekodować pełną nazwę strony, zwykle z URL i HTML, lub tych zdefiniowanych, a gdy nie podana jest nazwa strony, to liczy pełną nazwę artykułu według funkcji: {{Code|{{sr|#p["PełnaNazwaKsiążki"]|p=Książkowe}}}}, a gdy pełna nazwa strony przybiera wartość pustą według łańcuchów {{lpg|Lua}}, czyli {{Code|""}}, wtedy wykorzystuje funkcję systemową modułu nazw {{Code|{{ld2|Nazwy}}}}, czyli: {{Code|{{sr|#m["PEŁNANAZWAKSIĄŻKI"]|p=Nazwy/Tom IV}}}} {{Patrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}, i liczy w ten sposób ciąg pusty, w przeciwnym wypadku, gdy pełna nazwa strony posiada na początku dwukropek, wtedy jest liczona pełna nazwa książki według tej funkcji: {{LinkPatrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}. W innym wypadku, gdy tak nie jest, wtedy jest liczona nazwa przestrzeni nazw funkcją: {{Code|{{sr|#m.NAZWAPRZESTRZENI|p=Nazwy/Tom II}}}}, by wskazać, że strona nie jest w przestrzeni głównej, wtedy jest liczona pełna nazwa książki na podstawie: {{LinkPatrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}. A jeżeli jednak tak nie jest, bo mamy wtedy możliwą przestrzeń główną według wskazań początkowych, wtedy wypadałoby policzyć nazwę książki, która musi istnieć według z: {{Code|{{sr|#m["NAZWAKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, a jeśli ona rzeczywiście nie istnieje, to może być to przestrzeń {{Np|Wikijunior|link=tak}}, wtedy liczymy według: {{LinkPatrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}, a jeżeli to nie jest ta przestrzeń nazw dla istniejącej na pewno strony, tylko ta strona nie istnieje, wtedy musimy policzyć nazwę przestrzeni nazw z: {{Code|{{sr|#p.NazwaPrzestrzeni|p=Książkowe}}}}, dostępną na polskim {{NS|l=tak|k=b|w=tak|pk=mj}}, i nazwę przestrzeni książki funkcją: {{Code|{{sr|#p["NazwaPrzestrzeniKsiążki"]|p=Książkowe}}}}, aktualnej strony, które łączymy razem w pełną nazwę przestrzeni książki z nazwą strony podanej jako pierwszy argument naszej rozważanej funkcji, co na samym końcu pozostało policzyć na podstawie: {{LinkPatrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}, którą jest wykryta pełna nazwa książki na samym końcu obliczeń.
Nasza funkcja liczy pełną nazwę książki, do której należy podana nazwa książki, która może mieć niepełny adres, według metod powiedzianych powyżej, sprawdzając różne możliwości, wtedy otrzymujemy pełną nazwą książki na samym końcu, do której należy ten artykuł, który został podany, szczególną postacią pełnej nazwy artykułu jest nazwa książki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PełnaNazwaStronicowejKsiążki"]=function(frame,tabela_nazw)...end;
</syntaxhighlight>
Przykładem użycia:
<syntaxhighlight lang="lua">
local ksiazkowe_modul=require("Module:Książkowe");
local tabela_nazw={};
local nazwa_artykułu="Ksiązka/Artykuł";
local nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](nazwa_artykułu,tabela_nazw);
</syntaxhighlight>
Wtedy możliwymi wartościami pełnych wartości nazw artykułów dla wartości niepełnej nazwy artykułu: {{Code|Książka/Artykuł}}, są:
{{OpisParametrów
| 1 = {{Code|Książka/Artykuł}} | _1 = Gdy strona leży w przestrzeni nazw {{Np|(main)|link=tak}}.
| 2 = {{Code|Wikijunior:Książka/Artykuł}} | _2 = Gdy strona leży w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
| 3 = {{Code|Wikibooks:Brudnopis/<użytkownik>/Książka/Artykuł}} | _3 = Gdy początkowy artykuł podanej w nawie rozważanej funkcji leży w niby-przestrzeni nazw: '''{{lr2|Brudnopis}}/<użytkownik>''', w przestrzeni nazw {{Np|Project|link=tak}}.
| 4 = {{Code|Wikipedysta:<użytkownik>/Książka/Artykuł}}| _4 = Gdy początkowy artykuł podanej w nawie rozważanej funkcji leży w niby-przestrzeni nazw: '''{{Np|User|link=tak}}:<użytkownik>''', w przestrzeni nazw {{Np|User|link=tak}}.
}}
Jeżeli mamy te artykuły w możliwych do uzyskania postaciach, to wtedy jest liczona ich pełna nazwa książki przy pomocy: {{LinkPatrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
kqzgr429nt82vvh4grvht1ivaz2afcl
560579
560578
2026-11-04T08:51:14Z
Persino
2851
/* {{Code|p[""]}} */
560579
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Książkowe}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł wywołuje się za pomocą polecenia:
<syntaxhighlight lang="lua">
local ksiazkowe_modul=require("Module:Książkowe");
</syntaxhighlight>
dzięki, któremu można wypisywać funkcje należącego do niego.
Moduł służy do obsługi na nazwach pełnych nazw stron {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, które są odpowiednio przekształcone, nie jak w funkcjach nazw {{ld2|Nazwy}}, która służy na bezpośredniego operowania na nazwach bez transformatowania nazw, a {{ld2|Książkowe}} dodatkowo transformuje nazwy, w fazie początkowej, tzn. jej argument, którym jest pełna nazwa strony, tylko jeden raz, i dzieli go na poszczególne nazwy możliwie minimalne przy pomocy tablicy:
<syntaxhighlight lang="lua">
local tabela_nazw={};
</syntaxhighlight>
która tworzona jest jako pusta tablica, której nie można modyfikować, tylko wsadzać do kolejnych funkcji nazw w omawianym module.
Poniższe funkcje mogą być wywołane w wersji ramkowej jako w postaci wikikodu:
<syntaxhighlight lang="mediawiki">
{{#invoke:Książkowe|NazwaPrzestrzeni|Wikibooks:Moduły/Książkowe}}
</syntaxhighlight>
lub w wersji funkcyjnej programowej w języku {{lpg|Lua}} w {{lpr|Scribunto}}:
<syntaxhighlight lang="lua">
local ksiazkowe_modul=require("Module:Książkowe");
local tabela_nazw={};
local nazwa_oryginalna="Wikibooks:Moduły/Książkowe";
-- Wynikiem poniższego wywołania jest: "Wikibooks";
local nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](nazwa_oryginalna,tabela_nazw);
</syntaxhighlight>
Wynikiem powyższego wywołania jest: "Wikibooks", z której są usunięte wszystkie kody HTML i inne elementy według innych funkcji zdefiniowanej podanej do funkcji, czyli nawet w sumie zdekodowania zakodowanej pełnej nazwy strony przedstawionej w postaci zakodowanej w postaci kodów HTML i URL, ze strony nazwy oryginalnej.
Użycie powyżej nazwy: "NazwaPrzestrzeni", jest przykładowe, ale tutaj można użyć innej nazwy symbolizującą funkcję nazw, które są podane poniżej.
Nazwy zakodowane kodami HTML, w tym przypadku mają one wzór: {{Code|&#(%d+)}} lub {{Code|&#x(%x+)}}, według wyrażeń regularnych {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, którym odpowiadają pewne nazwy. Też mogą być zakodowane funkcją: {{LzLua|mw.uri.encode}}, a je odkodowuje się: {{LzLua|mw.uri.decode}}. A to wszystko robi funkcja: {{Code|{{sr|#p.DecodeHtml|p=Html}}}} {{Patrz|p.DecodeHtml}}, do odkodowania nazwy zamiany kodów HTML na odpowiednie znaki, i dekodowania URL adresów stron internetowych, ale tutaj zastosowana do nazw.
== {{Code|NazwaKsiazkawaSilnik}} ==
Funkcja silnik potrzebna do budowy funkcji nazw, podane w poniższych rozdziałach, wykorzystują tę funkcję.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function NazwaKsiazkawaSilnik(frame,funkcja_nazw,tabela_nazw)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki tablicy transportu.
| 2 = {{Code|funkcja_nazw}} | _2 = Funkcja nazw z modułu {{Code|{{ld2|Nazwy}}}} (nazw).
| 3 = {{Code|tabela_nazw}} | _3 = Tabela do szybszego uzyskiwania nazw, odziedziczona z modułu nazw.
}}
Parametry tablicy ramki funkcji tablicy transportu:
{{OpisParametrów
| 1 = {{Code|nazwa}} lub {{Code|1}} | _1 = Pełna, ewentualnie zakodowana URL i HTML, lub inaczej, nazwa przestrzeni nazw w przeciwieństwie do pełnej nazwy według modułu {{ld2|Nazwy}}.
| 2 = {{Code|bez transformacji}} | _2 = Niepuste, wtedy są wywoływane czysto funkcje w {{ld2|Nazwy}} bez żadnego odkodowania URL i HTML.
| 3 = {{Code|funkcja}} | _3 = Dodatkowa funkcja nazw potrzebna do transformacji pełnej nazwy strony, domyślnie jest wywoływana funkcja {{Code|p[""]}}.
| 4 = {{Code|funkcja decode}} | _4 = Nazwa funkcji drugiej do dekodowania, domyślnie jest to {{LinkPatrz|p.DecodeHtml}}.
| 5 = {{Code|moduł}} | _5 = Nazwa modułu, w której jest zawarta funkcja: {{Code|funkcja}}, ale domyślnie dla: {{Code|p[""]}}, jest to o domyślnej nazwie: {{Code|{{ld|Książkowe}}}}.
| 6 = {{Code|moduł decode}} | _6 = Nazwa modułu funkcji: {{LinkPatrz|p.DecodeHtml}}, domyślnie jest to: {{Code|{{Ld|Html}}}}.
}}
Jeżeli zmienna {{Code|bez transformacji}} jest pusta lub niepodana, to względem powyższych zmiennych jest dekodowana, a później transformowana do pewnej wartości w postaci pewnego szeregu nazw. W ten sposób uzyskana nazwa jest zwracana przez funkcję.
Można tworzyć nowe funkcje, nawet te zdefiniowane, i nowo-zdefiniowane przez programistę języka {{lpg|Lua}}, w module {{Code|{{ld2|Książkowe}}}}, przy pomocy schematu:
<syntaxhighlight lang="lua">
p["NazwaFunkcjiNazw"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWAFUNKCJINAZW",tabela_nazw);
end;
</syntaxhighlight>
Przykładem nazwy: {{Code|NazwaFunkcjiNazw}} jest: {{Code|NazwaPrzestrzeni}}, przy drugi parametrze funkcji: {{Code|NazwaKsiazkawaSilnik}}, czyli: {{Code|NAZWAFUNKCJINAZW}}, przyjmuje, wtedy wartość: {{Code|{{sr|#m.NAZWAPRZESTRZENI|p=Nazwy/Tom II}}}}.
Funkcja lub funkcje zdefiniowane do dekodowana podana w postaci parametrów dla wartości zawartch w zmiennych: {{Code|funkcja decode}} i {{Code|moduł decode}}, a nawet do transformacji: {{Code|funkcja}} i {{Code|moduł}}, mogą być umieszczone w dowolnym module lub modułach, lub nawet w module samego programu, a zarazem biblioteki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
== {{Code|p[""]}} ==
Funkcja tożsamościowa nazw, która zwraca wartość taką samą, jaką podaliśmy jako argument.
Definicja pełna funkcji:
{{Źródło|uchwyt=p[""]|tekst=
<syntaxhighlight lang="lua">
p[""]=function(parametr)
return parametr;
end;
</syntaxhighlight>}}
Przykłady użycia:
<syntaxhighlight lang="lua">
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_oryginalna="Wikibooks:Moduły/Książkowe";
local nazwa_wyjsciowa=ksiazkowe_modul[""](nazwa_oryginalna);
if(nazwa_oryginalna==nazwa_wyjsciowa)then
return "Dwie nazwy są sobie równe";
end;
return "Dwie nazwy są sobie nierówne";
</syntaxhighlight>
== {{Code|p.NazwaPrzestrzeni}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m.NAZWAPRZESTRZENI|p=Nazwy/Tom II}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia nazwy przestrzeni nazw, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p.NazwaPrzestrzeni|tekst=
<syntaxhighlight lang="lua">
p.NazwaPrzestrzeni=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWAPRZESTRZENI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["NazwaPrzestrzeniKsiążki"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["NAZWAPRZESTRZENIKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia nazwy przestrzeni nazw książki bez nazwy przestrzeni dostępnych na polskim {{NS|l=tak|k=b|w=tak|pk=mj}}, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["NazwaPrzestrzeniKsiążki"]|tekst=
<syntaxhighlight lang="lua">
p["NazwaPrzestrzeniKsiążki"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWAPRZESTRZENIKSIĄŻKI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["NazwaTytułuKsiążki"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["SUBNAZWAKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia sub nazwy książki bez nazwy przestrzeni nazw książki, czyli służy do liczenia tytułu książki, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["NazwaTytułuKsiążki"]|tekst=
<syntaxhighlight lang="lua">
p["NazwaTytułuKsiążki"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"SUBNAZWAKSIĄŻKI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["NazwaArtykułuKsiążki"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["NAZWAARTYKUŁUKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia nazwy artykułu książki bez nazwy książki, ale przed tym wykorzystaniem dekoduje, pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["NazwaArtykułuKsiążki"]|tekst=
<syntaxhighlight lang="lua">
p["NazwaArtykułuKsiążki"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWAARTYKUŁUKSIĄŻKI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["NazwaKsiążki"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["NAZWAKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia nazwy książki bez nazwy przestrzeni nazw dostępne na polskim {{NS|l=tak|k=b|w=tak|pk=mj}}, bez nazwy artykułu danego artykułu, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["NazwaKsiążki"]|tekst=
<syntaxhighlight lang="lua">
p["NazwaKsiążki"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWAKSIĄŻKI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["PełnaNazwaKsiążki"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["PEŁNANAZWAKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia pełnej nazwy książki z przestrzenią nazw ksiązki i z nazwą przestrzeni nazw dostępne na polskim: {{NS|l=tak|k=b|w=tak}}, bez nazwy artykułu podanego artykułu, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["PełnaNazwaKsiążki"]|tekst=
<syntaxhighlight lang="lua">
p["PełnaNazwaKsiążki"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"PEŁNANAZWAKSIĄŻKI",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["PełnaNazwaArtykułu"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m["PEŁNANAZWASTRONY"]|p=Nazwy/Tom II}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia pełnej nazwy strony (artykułu), ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["PełnaNazwaArtykułu"]|tekst=
<syntaxhighlight lang="lua">
p["PełnaNazwaArtykułu"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"PEŁNANAZWASTRONY",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["NazwaArtykułu"]}} ==
Funkcja wykorzystuje funkcję nazw: {{Code|{{sr|#m.NAZWASTRONY|p=Nazwy/Tom II}}}}, modułu nazw: {{Code|{{ld2|Nazwy}}}}, do liczenia nazwy stron (artykułów) bez nazwy przestrzeni nazw dostępnych na polskim {{NS|l=tak|k=b|pk=mj}}, ale przed tym wykorzystaniem, dekoduje pełne nazwy względem pewnych funkcji w modułach, lub tego nie robi, jeżeli jest zdefiniowana niepusta zmienna: {{Code|bez transformacji}}, w tablicy ramki tej funkcji.
Definicja pełna funkcji:
{{Źródło|uchwyt=p["NazwaArtykułu"]|tekst=
<syntaxhighlight lang="lua">
p["NazwaArtykułu"]=function(frame,tabela_nazw)
tabela_nazw=tabela_nazw or {};
return NazwaKsiazkawaSilnik(frame,"NAZWASTRONY",tabela_nazw);
end;
</syntaxhighlight>}}
== {{Code|p["PełnaNazwaStronicowejKsiążki"]}} ==
Funkcja liczy nazwę książki, ale wpierw, musi zdekodować pełną nazwę strony, zwykle z URL i HTML, lub tych zdefiniowanych, a gdy nie podana jest nazwa strony, to liczy pełną nazwę artykułu według funkcji: {{Code|{{sr|#p["PełnaNazwaKsiążki"]|p=Książkowe}}}}, a gdy pełna nazwa strony przybiera wartość pustą według łańcuchów {{lpg|Lua}}, czyli {{Code|""}}, wtedy wykorzystuje funkcję systemową modułu nazw {{Code|{{ld2|Nazwy}}}}, czyli: {{Code|{{sr|#m["PEŁNANAZWAKSIĄŻKI"]|p=Nazwy/Tom IV}}}} {{Patrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}, i liczy w ten sposób ciąg pusty, w przeciwnym wypadku, gdy pełna nazwa strony posiada na początku dwukropek, wtedy jest liczona pełna nazwa książki według tej funkcji: {{LinkPatrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}. W innym wypadku, gdy tak nie jest, wtedy jest liczona nazwa przestrzeni nazw funkcją: {{Code|{{sr|#m.NAZWAPRZESTRZENI|p=Nazwy/Tom II}}}}, by wskazać, że strona nie jest w przestrzeni głównej, wtedy jest liczona pełna nazwa książki na podstawie: {{LinkPatrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}. A jeżeli jednak tak nie jest, bo mamy wtedy możliwą przestrzeń główną według wskazań początkowych, wtedy wypadałoby policzyć nazwę książki, która musi istnieć według z: {{Code|{{sr|#m["NAZWAKSIĄŻKI"]|p=Nazwy/Tom IV}}}}, a jeśli ona rzeczywiście nie istnieje, to może być to przestrzeń {{Np|Wikijunior|link=tak}}, wtedy liczymy według: {{LinkPatrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}, a jeżeli to nie jest ta przestrzeń nazw dla istniejącej na pewno strony, tylko ta strona nie istnieje, wtedy musimy policzyć nazwę przestrzeni nazw z: {{Code|{{sr|#p.NazwaPrzestrzeni|p=Książkowe}}}}, dostępną na polskim {{NS|l=tak|k=b|w=tak|pk=mj}}, i nazwę przestrzeni książki funkcją: {{Code|{{sr|#p["NazwaPrzestrzeniKsiążki"]|p=Książkowe}}}}, aktualnej strony, które łączymy razem w pełną nazwę przestrzeni książki z nazwą strony podanej jako pierwszy argument naszej rozważanej funkcji, co na samym końcu pozostało policzyć na podstawie: {{LinkPatrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}, którą jest wykryta pełna nazwa książki na samym końcu obliczeń.
Nasza funkcja liczy pełną nazwę książki, do której należy podana nazwa książki, która może mieć niepełny adres, według metod powiedzianych powyżej, sprawdzając różne możliwości, wtedy otrzymujemy pełną nazwą książki na samym końcu, do której należy ten artykuł, który został podany, szczególną postacią pełnej nazwy artykułu jest nazwa książki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PełnaNazwaStronicowejKsiążki"]=function(frame,tabela_nazw)...end;
</syntaxhighlight>
Przykładem użycia:
<syntaxhighlight lang="lua">
local ksiazkowe_modul=require("Module:Książkowe");
local tabela_nazw={};
local nazwa_artykułu="Ksiązka/Artykuł";
local nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](nazwa_artykułu,tabela_nazw);
</syntaxhighlight>
Wtedy możliwymi wartościami pełnych wartości nazw artykułów dla wartości niepełnej nazwy artykułu: {{Code|Książka/Artykuł}}, są:
{{OpisParametrów
| 1 = {{Code|Książka/Artykuł}} | _1 = Gdy strona leży w przestrzeni nazw {{Np|(main)|link=tak}}.
| 2 = {{Code|Wikijunior:Książka/Artykuł}} | _2 = Gdy strona leży w przestrzeni nazw {{Np|Wikijunior|link=tak}}.
| 3 = {{Code|Wikibooks:Brudnopis/<użytkownik>/Książka/Artykuł}} | _3 = Gdy początkowy artykuł podanej w nawie rozważanej funkcji leży w niby-przestrzeni nazw: '''{{lr2|Brudnopis}}/<użytkownik>''', w przestrzeni nazw {{Np|Project|link=tak}}.
| 4 = {{Code|Wikipedysta:<użytkownik>/Książka/Artykuł}}| _4 = Gdy początkowy artykuł podanej w nawie rozważanej funkcji leży w niby-przestrzeni nazw: '''{{Np|User|link=tak}}:<użytkownik>''', w przestrzeni nazw {{Np|User|link=tak}}.
}}
Jeżeli mamy te artykuły w możliwych do uzyskania postaciach, to wtedy jest liczona ich pełna nazwa książki przy pomocy: {{LinkPatrz|PEŁNANAZWAKSIĄŻKI-PełnaNazwaStronicowejKsiążki}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
hrdnb2icr9moz7nbt31qb9954m8fp6m
Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom III
4
63512
560595
560402
2026-11-04T10:00:32Z
Persino
2851
560595
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.ParsowanieNapisuWprowadzeniaTekstuSpisuStron}}{{Code|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron}} ==
Szablon do wyszukania linii, a czy w nim jest nagłówek: '''Spis treści''', czy '''Spis rzeczy''', niezależnie jakiej wielkościami liter napisany, niezaleznie jak znormowany.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron(linia,spacje_na_poczatku)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|linia}} {{LinkPatrz|linia|StronicowyParser/AnalizaSpisuRzeczy}} | _1 = Linia do sprawdzenia.
| 2 = {{Code|spacje_na_poczatku}} {{Patrz|spacje_na_poczatku}} | _2 = Czy na początku linii mogą być odstępy.
}}
Funkcja używa do swojego działania tabeli {{Code|{{sr|#p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci|p=StronicowyParser/obiekty}}}}:
{{Tbl|uchwyt=p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci|tekst=
<syntaxhighlight lang="lua">
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci={
[1]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Tt][Rr][Ee][ŚśSs][Cc][Ii][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",
[2]="[ _\t]*'*[ _\t]*[Ss][Pp][Ii][Ss][ _\t]+[Rr][Zz][Ee][Cc][Zz][Yy][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",
};
</syntaxhighlight>}}
* Funkcja usuwa znaki kontrolne: {{Code|<nowiki>%c</nowiki>}}, bez nowej linii: {{Code|<nowiki>\n</nowiki>}} i tabulacji: {{Code|<nowiki>\t</nowiki>}},
* W zależności od ustawień parametrów, które też trzeba włączyć do działania tego szablonu, funkcja wyszukuje odpowiedni napis wprowadzenia tekstu,
** Funkcja ustawia wartość {{Code|true}}, gdy taki nagłówek znalazł.
Funkcja do usuwania odpowiednich znaków kontrolnych bez pewnych elementów, do tego celu używa funkcji: {{Code|{{sr|#p.UsuwanieZnakoweKontrolneNiewidzialne|p=Techniczne}}}}, by dalej przejść do omówionego wyszukiwania.
== {{Śródtytuł|p.ZnajdowanieZerowegoSpisuRzeczy}}{{Code|p.ZnajdowanieZerowegoSpisuRzeczy}} ==
Funkcja w tekście wyszkukuje rozdziału ze: '''Spis treści''', czy: '''Spis rzeczy''', niezależnie jakimi wielkościami liter napisany, niezależnie jak znormowany, określone tabelą: {{LinkTbl|p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_spis_tresci}}.
Jest to rozszerzenie funkcji: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron}}, który jest dla poszczególnych linii {{Code|linia}} {{LinkPatrz|linia|StronicowyParser/AnalizaSpisuRzeczy}}, na cały tekst {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}.
Na początku nowej linii nie mogą być odstępy. Funkcja przeszukuje tekst: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, od pozycji: {{Code|liczba_od}} {{LinkPatrz|liczba_od}}, do: {{Code|liczba_do}} {{LinkPatrz|liczba_do}}.
Szablon szuka od tyłu lub do przodu, w zależności, jaką wartość ma zmienna {{Code|jak}} {{LinkPatrz|jak}}, czyli w pewnych zakresach, tzn. od {{Code|liczba_od}} {{LinkPatrz|liczba_od}} do {{Code|liczba_do}} {{LinkPatrz|liczba_do}}. W wyszukiwaniu do przodu pierwsza liczba jest mniejsza lub równa od drugiej, a do tyłu, pierwsza liczba większa lub równa od drugiej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnajdowanieZerowegoSpisuRzeczy(tekst_rozwiniety_calego_artykulu,liczba_od,liczba_do,jak)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} | _1 = Przeszukiwany tekst.
| 2 = {{Code|liczba_od}} {{Patrz|liczba_od}} | _2 = Początek wyszukiwania.
| 3 = {{Code|liczba_do}} {{Patrz|liczba_do}} | _3 = Koniec wyszukiwania.
| 4 = {{Code|jak}} {{Patrz|jak}} |_4 = Odpowiadająca wartości: {{Code|true}}, gdy wyszukiwanie do tyłu, a przeciwnie do przodu.
}}
; Sprawdzanie, linii wyszukanej, czy to jest{{dk}} {{nobold|spis treści}}, czy{{dk}} {{nobold|spis rzeczy}}{{dk}}
* Funkcja wyszukuje kolejnej linie, aż do zakończenia jej zasobów, jak nie znalazł jej odpowiedniej, przy pomocy: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
* Funkcja sprawdza linię przy pomocy procedury, czy wyszukana linia reprezentuje, co szukamy, według tego rozdziału, według: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron}}.
* Jak on to znalazł odpowiednią linię pasującego do wzoru, to zwraca zestaw parametrów:
<syntaxhighlight lang="lua">
return liczba_start_rozdzial,liczba_koniec_rozdzial,rozdzial;
</syntaxhighlight>
Parametry zwracane dla wyszukanego rozdziału zwracanego:
* {{Code|rozdzial}} - wyszukany rozdział, w tekście: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} - początek wyszukanej linii z nim,
* {{Code|liczba_koniec_rozdzial}} {{Patrz|liczba_koniec_rozdzial}} - koniec wyszukanej linii z nim.
W pozostałych przypadkach funkcja nie zwraca żadnej wartości.
== {{Śródtytuł|p.CzyWprowadzenieNapisuTekstuCentrowany}}{{Code|p.CzyWprowadzenieNapisuTekstuCentrowany}} ==
Funkcja sprawdza, czy wyszukany szablon jest centrowany, tzn. czy jest jednym z szablonów: {{s|Center}}, {{s|Centruj}} lub {{s|Ce}}, a w przypadku znacznika, czy jest według: {{Tag|center}}, czyli też centrowania.
{{PobierzŚródtekst|uchwyt=parametry-baza_danych_kodowania_artykułu|nazwa artykułu=StronicowyParser/AnalizaSpisuRzeczy}}
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyWprowadzenieNapisuTekstuCentrowany(szablon,obiekt,kod,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Parametry z sekcji {{LinkZobaczTeż|Parametry złożone|StronicowyParser/AnalizaSpisuRzeczy}}:| nagłówek1 = tak
| 2 = {{Code|szablon}} | _2 = Jak w: {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}, w naszej funkcji, sprawdzany element, to szablon, czy znacznik.
| 3 = Parametry z sekcji {{LinkZobaczTeż|Parametry kodowania|StronicowyParser/AnalizaSpisuRzeczy}}: | nagłówek3 = tak
| 4 = {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}} | _4 = Obiekt typu: {{Code|SZABLON}}, dla szablonu, lub: {{Code|ZNACZNIK}}, dla znacznika.
| 5 = {{Code|kod}} | _5 = Jak w: {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}.
| 6 = Parametry z sekcji {{LinkZobaczTeż|Parametry zakodowanego spisu|StronicowyParser/AnalizaSpisuRzeczy}}:| nagłówek6 = tak
| 7 = {{Code|pelna_nazwa_spisu_tresci}} | _7 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy}}.
| 8 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _8 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy}}..
}}
Funkcja do sprawdzania, w tym przypadku, szablonów centrowania, używa, do tego celu tabeli: {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}}, o kluczach o nazwach z nimi w:
{{Tbl|uchwyt=p.szablony_wprowadzenia_napisu_spisu_rzeczy|tekst=
<syntaxhighlight lang="lua">
p.szablony_wprowadzenia_napisu_spisu_rzeczy={
["Ce"]=1,
["Centruj"]=1,
["Center"]=1,
};
</syntaxhighlight>}}
Jeżeli znaleziony wskazany szablon, czy znacznik, centrowania ma zawartość, wtedy funkcja zwraca wynik: {{Code|true}}, przeciwnie nie zwraca żadnej wartości.
== {{Śródtytuł|p.ZnajdowanieZerowegoNapisuWprowadzeniaTekstu}}{{Code|p.ZnajdowanieZerowegoNapisuWprowadzeniaTekstu}} ==
Funkcja wyszukuje teksty według wzoru {{Code|wzor}} {{LinkPatrz|wzor}} od {{Code|liczba_od}} {{LinkPatrz|liczba_od}} do {{Code|liczba_do}} {{LinkPatrz|liczba_do}}, od tyłu lub do przodu w zależności od ustalonej zmiennej {{Code|jak}} {{LinkPatrz|jak}}. Wybiera stąd wyszukiwania, które nie są rozdziałami dodatnimi równaniowymi i ujemnymi będących pozycjami listy.
Funkcja wyklucza rozdziały będące szablonami centrowania.
Funkcja sprawdza, czy wyszukany rozdział jest centrowania, robi to za pomocą zmiennej {{Code|linia}} {{LinkPatrz|linia|StronicowyParser/AnalizaSpisuRzeczy}} i tabel baz, tzn.: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}, z przetworzonymi danymi z: {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy}}.
Z tego wyszukuje zmienne z iteratora z jego pierwszego wywołania iteracyjnego, i z tylko jednego, bez iterowania w pętli, z pierwszej iteracji są zwykle parametry: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}, {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}} i {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}, lub wartości nilowe.
Wykluczanie, czy wyszukany ciąg jest szablonem centrowania, robi to za pomocą funkcji: {{LinkŚródtytuł|p.CzyWprowadzenieNapisuTekstuCentrowany}}, a jeżeli nie, to trzeba sprawdzić, czy to jest zerowy napis wprowadzenia testu, w tym celu rewidujemy to za pomocą: {{Code|{{sr|#p.CzyZerowyNapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}, jeśli tak, to funkcja zgłasza powodzenie i zwraca wyniki.
{{PobierzŚródtekst|uchwyt=parametry-baza_danych_kodowania_artykułu|nazwa artykułu=StronicowyParser/AnalizaSpisuRzeczy}}
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnajdowanieZerowegoNapisuWprowadzeniaTekstu(tekst_rozwiniety_calego_artykulu,wzor,liczba_od,liczba_do,jak,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst_rozwiniety_calego_artykulu}} | _1 = Jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}.
| 2 = {{Code|wzor}} {{Patrz|wzor}} | _2 = Wzór do przeszukiwania treści od: {{LinkPatrz|liczba_od}}, do: {{LinkPatrz|liczba_do}}, do tyłu, jak i do przodu, w zależności od wyboru w zmiennej {{LinkPatrz|jak}}.
| 3 = {{Code|liczba_od}} | _3 = Jak w: {{LinkPatrz|liczba_od}}.
| 4 = {{Code|liczba_do}} | _4 = Jak w: {{LinkPatrz|liczba_do}}.
| 5 = {{Code|jak}} | _5 = Jak w: {{LinkPatrz|jak}}.
| 6 = Parametry z sekcji {{LinkZobaczTeż|Parametry zakodowanego spisu|StronicowyParser/AnalizaSpisuRzeczy}}: | nagłówek6 = tak
| 7 = {{Code|pelna_nazwa_spisu_tresci}} | _7 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy}}.
| 8 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _8 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy}}.
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy}}.
}}
Funkcja przeszukuje tekst: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu}}, według wzoru: {{Code|wzor}} {{LinkPatrz|wzor}}, w pewnych zakresach: {{Code|liczba_od}} {{LinkPatrz|liczba_od}} - {{Code|liczba_do}} {{LinkPatrz|liczba_do}}, od tyłu, czy do przodu, według: {{Code|jak}} {{LinkPatrz|jak}}, używając do tego funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Jeżeli wszystko poszło dobrze, to zwracane są wyniki w postaci {{Patrz|wynimi znajdowania centrowanego}}:
<syntaxhighlight lang="lua">
return liczba_start_rozdzial,liczba_koniec_rozdzial,linia;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Wyjaśnienie parametrów zwracanych:
| 1 = {{Code|liczba_start_rozdzial}} {{LinkPatrz|liczba_start_rozdzial}} | _1 = Początek wyszukanej linii.
| 2 = {{Code|liczba_koniec_rozdzial}} {{LinkPatrz|liczba_koniec_rozdzial}} | _2 = Koniec wyszukiwanej linii.
| 3 = {{Code|linia}} | _3 = Jak w: {{LinkPatrz|linia|StronicowyParser/AnalizaSpisuRzeczy}}, czyli wyszukiwana linia spełniająca pewne kryteria.
}}
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
1b5wf36q87wkwk688ygsml1pkoucq2p
Wikibooks:Moduły/StronicowyParser/GłównaFunkcjaZbieraniaDanychStron
4
63513
560600
560410
2026-11-04T10:34:05Z
Persino
2851
560600
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}|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.PobieranieInformacjiRamkiRozpatrywanejStrony}}{{Code|p.PobieranieInformacjiRamkiRozpatrywanejStrony}} ==
Pobieranie danych z obiektu {{LinkPatrz|self}}, biorąc jego podtablicę o kluczu: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PobieranieInformacjiRamkiRozpatrywanejStrony(self)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|self}} {{Patrz|self}} | _1 = Zmienna obiektowa ramki tablicy transportu.
}}
== {{Śródtytuł|p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi}}{{Code|p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi}} ==
Funkcja uruchamiacz, główna funkcja dzięki, której ładują się informacje według modułu: {{Code|{{ld2|StronicowyParser/informacje}}}} (tam jest użyty). Ten ładowacz jest pokazany w module opis: {{Code|{{lr2|Moduły/StronicowyParser/informacje}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi(self)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}.
}}
=== {{Śródtytuł|DaneNazw}}{{Code|DaneNazw}} ===
Funkcja licząca nazwy podanej nazwy strony, tzn.: {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}}, oraz zwracające te kolejno nazwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function DaneNazw(pelna_nazwa_strony)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|pelna_nazwa_strony}} {{Patrz|pelna_nazwa_strony}} | _1 = Pełna nazwa strony.
}}
=== Dalsza część funkcji - Tom I ===
==== Tworzenie i inicjowanie początkowych tabel ====
Funkcja tworzy podtabelę tabeli zmiennej obiektowej {{LinkPatrz|self}} o kluczu: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, o wartości pustej. Następnie są tworzone podtabele puste w tej ostatniej o kluczach: {{Code|dane_analizy_stron}} {{Patrz|dane_analizy_stron}} i {{Code|licencja}}{{Patrz|licencja}}, oraz nilowe zmienne z tego samego, co ostatnie, o kluczu: {{Code|problemy}} {{Patrz|problemy}}.
==== Zmienne nazw strony bieżącej, czy nawet aktualnej, w zależności, czy istnieją odpowiednie ustawienia ====
Jest liczony adres strony, na której jest uruchomiona dana strona, wewnętrznej bezparametrowo według: {{Code|{{sr|#p["PełnaNazwaArtykułu"]|p=Książkowe}}}} {{Patrz|strona_aktualna}} (jest liczona pełna nazwa strony bieżącej), co z tego są liczone z niego: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, co z tego jest wyznaczana pełna nazwa książki {{Code|pelna_nazwa_ksiazki}} {{Patrz|pelna_nazwa_ksiazki}}.
==== Zbieranie danych ustawień z: {{Code|.../config}}, jeśli istnieją ====
Jest liczony pełny adres ustawień: {{Code|pelna_nazwa_ksiazki_ustawienia}} {{Patrz|pelna_nazwa_ksiazki_ustawienia}}, według schematu: {{Code|"Szablon:Podręcznik/Ustawienia/"..pelna_nazwa_ksiazki}} {{Patrz|UstawieniaKsiążki}}. Co z tego jest sprawdzane, czy istnieje strona: {{Code|pelna_nazwa_ksiazki_ustawienia.."/config"}} {{Patrz|config}}, a jeśli tak, to wtedy wiemy, że to jest szablon, to go przedstawiamy w postaci szablonowej, licząc z: {{Code|{{sr|#p.NazwaSzablonu|p=Szablonowe}}}}. Dalej jest liczony ostatni wyliczony szablon z parametrem {{Code|książka}} {{Patrz|książka}}, dalej jeszcze raz, tym razem z parametrem: {{Code|artykuł}} {{Patrz|artykuł}} - te parametry przedstawiają parametry artykułu książkowego, skąd możemy ściągać stronę, by ją wyświetlić na stronie aktualnej, na pewno parametr {{LinkPatrz|książka}} nie może być parametrem składających z samych znaków odstępów, a jeśli tak jest, w takim razie z tych dwóch parametrów jest liczony parametr {{Code|strona}} {{Patrz|strona}}. Dalej liczymy, czy ona jest poprawnym adresem, używając funkcji: {{Code|{{sr|#p["CzyNiepoprawnaNazwa"]|p=Pudełko/Tom I}}}}. A jeżeli adres jest jednak poprawny, ta funkcja zwraca wartość odpowiadającej fałszywej wartości, wtedy jest liczony pełny adres strony z: {{Code|{{sr|#p["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]|p=Techniczne}}}}, jeżeli ona jest adresem względnym, ale nie musi być, z parametrów, tzn. parametr pierwszy: {{LinkPatrz|strona}} (możliwie względny), i parametr drugi: {{LinkPatrz|strona_aktualna}} (zawsze jest adresem bezwzględnym), co względem tej funkcji mamy już: {{LinkPatrz|strona}}, czyli po tej operacji (procedurze) policzyliśmy bezwzględny jego adres.
===== Liczenie nazw z parametru pełnej nazwy aktualnej, nie bieżącej, strony wynikłe z obliczeń z ustawień =====
Policzona wartość strony: {{LinkPatrz|strona}}, jest sprawdzana, czy adres (strona), pod którym ona się kryje, istnieje, wykorzystując do tego funkcji: {{Code|{{sr|#p.PoliczZbiory|p=Techniczne}}}}, a jeśli tak, to ten adres jest tylko formatowany. Porównujemy adres {{LinkPatrz|strona}} z {{LinkPatrz|strona_aktualna}}, czy przedstawiają nie ten sam adres, a jeżeli tak, to liczymy wszystkie nazwy strony, czyli dla bez {{Code|aktualna_}}, przyrównujemy do tego z tym początkiem, co odpowiada pełnej nazwie strony z {{Code|strona_aktualna}} {{LinkPatrz|strona_aktualna}} {{ZobaczTeż|strona_aktualna}}, i wyznaczamy nazwy strony bez tego początku, używając funkcji: {{LinkŚródtytuł|DaneNazw}}, ze zmiennej: {{Code|strona}} {{LinkPatrz|strona}} {{ZobaczTeż|strona}}. Te ostatnie nazwy są potrzebne do analizy strony bieżącej, nie aktualnej, tzn. na niej, jakie są szablony, jakie posiada spisy, jakie książki, a w nim spisy do nich, są dołączone.
====== Policzone nazwy strony aktualnej wpisane do ogólnej tablicy ======
A później z adresów policzonych wywołania, dotyczącej tego aktualnego, liczymy dla podtabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, zmienne o kluczach: {{Code|aktualna_nazwa_przestrzeni}} {{Patrz|aktualna_nazwa_przestrzeni}}, {{Code|aktualna_nazwa_przestrzeni_ksiazki}} {{Patrz|aktualna_nazwa_przestrzeni_ksiazki}}, {{Code|aktualna_nazwa_ksiazki}} {{Patrz|aktualna_nazwa_ksiazki}} i {{Code|aktualna_nazwa_artykulu}} {{Patrz|aktualna_nazwa_artykulu}}, mając zmienne nazw policzone z tego aktualnego.
===== Czy strona bieżąca, ale nie zbiorcza, jest wyświetlana na stronie aktualnej, czy może jest tylko stroną zbiorczą uruchomioną pod inną nazwą =====
Jeśli zmienne nazw są policzone z: {{LinkZobaczTeż|strona}} i {{LinkZobaczTeż|strona_aktualna}}, to wtedy kolejno porównujemy, czy któreś z nich są sobie nierówne, a jeśli tak, to wywołujemy szablon z parametru: {{Code|zastępcza}} {{ZobaczTeż|zastępcza}} - jest to, czy strona jest zbiorcza, o nazwie: {{LinkPatrz|config}}, czy powinna być wartością niepustą. A jak tak, to wyznaczamy z tablicy: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, zmienną o kluczu: {{Code|alternatywna}} {{Patrz|alternatywna}}, co przyrównujemy jemu wartość logiczną z uzyskanego z szablonu z parametrem {{LinkZobaczTeż|zastępcza}}, a jeżeli ta zmienna przyjmuje wartość odpowiadająca fałszywej, wtedy zmienna z tej samej tablicy o kluczu: {{Code|inna_strona_aktualna_niz_biezaca}} {{Patrz|inna_strona_aktualna_niz_biezaca}} - jest to, czy strona jest inna niż zbiorcza, ale wyświetlana na innej stronie, przyjmuje wartość prawdziwą.
=== Dalsza część funkcji - Tom II ===
Tworzymy zmienną: {{Code|tablica_zmiennych}}, która jest tablicą pustą, którą uzupełniamy o elementy o kluczach: {{Code|tabela_listy_danych_analizy_ksiazki2}} {{Patrz|tabela_listy_danych_analizy_ksiazki2}} - są to dane zebrane z bieżącej strony, i {{Code|linkobiekt}} {{Patrz|linkobiekt}} - są to dane zebrane o linkach na stronie odpowiadających poszczególnym obiektom.
Uruchamiamy funkcję: {{Code|{{sr|#p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi|p=StronicowyParser/ZbieranieDanychStron}}}}, z której wyznaczamy parametr: {{Code|tabela_listy_danych_analizy_ksiazki}} - są to dane zebrane z bieżącej i innych stron skojarzonej z nim, te elementy są tylko w postaci nieprzetworzonej, ale przygotowanej. A jeśli ten parametr jest tabelką - a jeżeli nie jest, to nastąpił błąd przetwarzania, i funkcja nie idzie dalej w instrukcję warunkową, wtedy wywołujemy funkcję: {{Code|{{sr|#p.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony|p=StronicowyParser/NumeracjaObiektówStron}}}}.
=== Dalsza część funkcji - Tom III ===
Na sam koniec funkcji zwracamy tablicę: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}} - ta zmienna zawiera dane w postaci przetworzonej policzonej, tzn. uchwytom są przydzielone numeracje, sprawdzane, czy uchwyty są policzone, są wyznaczone wszystkie kody problemów, które później są potrzebne do wyznaczania wszystkich kategorii błędów na stronie.
== {{Śródtytuł|p.SpisRzeczyWedlePodanegoTekstu}}{{Code|p.SpisRzeczyWedlePodanegoTekstu}} ==
Funkcja generowania liczenia nagłówków strony, co na tej podstawie może być generowany '''spis treści''' strony. Funkcja przyporządkowuje uchwytom szablonów nagłówków ich identyfikatory i te nagłówki, w którym one leżą, jeżeli zmienna {{LinkPatrz|obiekty}} istnieje.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SpisRzeczyWedlePodanegoTekstu(self,tekst_artykulu,nazwa_strony,czy_artykul_korzystany, tylko_naglowek,obiekty,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,KtorySzablonMaZwracacKategorie,wzory_zamiast_kodow,tabela_elementow_strony_kodow)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}.
| 2 = {{Code|tekst_artykulu}} {{Patrz|tekst_artykulu}} | _2 = Tekst przetworzony, przygotowany ewentualnie przez pewną funkcję, rozważanego artykułu.
| 3 = {{Code|nazwa_strony}} {{Patrz|nazwa_strony}} | _3 = Nazwa strony, danego spisu.
| 4 = {{Code|czy_artykul_korzystany}} {{Patrz|czy_artykul_korzystany}} | _4 = Czy strona jest bieżąca.
| 5 = {{Code|tylko_naglowek}} {{Patrz|tylko_naglowek}} | _5 = Pisz adresy stron z tylko nagłówkami '''#''', bez adresów stron.
| 6 = {{Code|obiekty}} {{Patrz|obiekty}} | _6 = Elementy tam zebrane, są wykorzystywane do analizy nagłówków poprzez szablon {{s|Śródtytuł}}, któremu temu nagłówkowi odpowjada pewien uchwyt, czy uchwyty.
| 7 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} | _7 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
| 8 = {{Code|nazwa_modulu_aktualna_czy_biezaca}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca}} | _8 = Uchwyt do bazy danych kodowania tekstu.
| 9 = {{Code|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} {{Patrz|nazwa_modulu_aktualna_czy_biezaca_szablonowa}} | _9 = Nazwa aktualna, czy bieżąca strony. szablonowa strony, w wersji w jakiej się wywołuje wywołania szablonowe.
| 10 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} | _10 = Tabela bazy zebranych informacji w postaci zakodowanej modułu {{m|Szablonowe}}.
| 11 = {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} | _11 = Tabela przeanalizowanych elementów bazy {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}.
| 12 = {{Code|tablica_obiektow_strony_danych_kodow_specjalnych_modul}} {{Patrz|tablica_obiektow_strony_danych_kodow_specjalnych_modul}} | _12 = Tablica dwuwymiarowa kodów o kluczach: szablonów referencji: '''REF...''' i '''POSTMATH''' oraz ich elementu numeru kodu {{Code|kod}}, którego elementem jest kod tego elementu.
| 13 = {{Code|KtorySzablonMaZwracacKategorie}} {{Patrz|KtorySzablonMaZwracacKategorie}} - tabela składająca się z trzech elementów, którego pierwszy element to: {{Code|KtorySzablonMaZwracacKategorieNaglowek}} {{Patrz|KtorySzablonMaZwracacKategorieNaglowek}} - funkcja dla szablonów problemów dla jak: {{s|Śródtytuł}}, w nagłówku, drugi: {{Code|KtorySzablonMaZwracacKategorieTekst}} {{Patrz|KtorySzablonMaZwracacKategorieTekst}} - funkcja dla tego typu szablonów, ale dla nich w tekście, nie w nagłówku, trzeci: {{Code|CzyJestTakiProblemJakoElementTablicy}} {{Patrz|CzyJestTakiProblemJakoElementTablicy}} | _13 = Czy nie rozważać, dla rozdziałów zerowych, przeciwnie: ta funkcja może przyjmować wartość {{Code|nil}}, wartość zwracana tego elementu, bo to jest funkcja, zależy, czy jest ustawiony kod problemu: {{Code|nagłówek w tekście rozdziału w stronie korzystanej}} {{Patrz|nagłówek w tekście rozdziału w stronie korzystanej}}, a jeżeli jest taki, to ta funkcja przyjmuje zrzuconą wartość {{Code|true}}.
| 14 = {{Code|wzory_zamiast_kodow}} {{Patrz|wzory_zamiast_kodow}} | _14 = Rozważaj wzory według tablicy: {{LinkPatrz|tablica_obiektow_strony_danych_kodow_specjalnych_modul}}, lub koduj, to według funkcji: {{Code|{{sr|#p.NormaKoduKodowaniaTekstu|p=Szablonowe}}}}, to wykorzystuj w przypadku, gdy: {{LinkPatrz|nazwa_strony}}, istnieje, i jest wartością pustą, lub {{Code|{{sr|#p.NormaKoduZakodowanegoWikiTekstu|p=Szablonowe}}}} - przeciwnie.
| 15 = {{Code|tabela_elementow_strony_kodow}} {{Patrz|tabela_elementow_strony_kodow}} | _15 = baza tabela z zapamiętanymi podtabelami, którego poszczególne elementy wykorzystywane w spisie posiadają w sobie tylko pierwszy element w postaci przetworzonego uchwytu, bo używamy tylko uchwytów szablonów nagłówków.
}}
=== {{Śródtytuł|SpecjalneWprowadzeniaTekstu}}{{Code|SpecjalneWprowadzeniaTekstu}} ===
Funkcja zamieniające pewne szablony, czy znaczniki, na rozdziały równaniowe.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local SpecjalneWprowadzeniaTekstu=function(szablon,obiekt,kod,czy_szablon,czy_znacznik,czy_liczyc,funkcja1,funkcja2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|szablon}} {{Patrz|szablon}} | _1 = Zmienna (szablon), nie musi być to normalny szablon.
| 2 = {{Code|obiekt}} {{Patrz|obiekt}} | _2 = Zmienna, którego typu jest obiekt.
| 3 = {{Code|kod}} {{Patrz|kod}} | _3 = Numer obiektu typu {{LinkPatrz|obiekt}}.
| 4 = {{Code|czy_szablon}} {{Patrz|czy_szablon}} | _4 = Czy to jest szablon.
| 5 = {{Code|czy_znacznik}} {{Patrz|czy_znacznik}} | _5 = Czy to jest znacznik.
| 6 = {{Code|czy_liczyc}} {{Patrz|czy_liczyc}} | _6 = Czy funkcję liczyć w sposób złożony, szablony typu: {{s|SpisTreści}} - zamieniający go na znacznik, czy prosty, co na samym końcu uruchamiana jest funkcja: {{LinkPatrz|funkcja1}}.
| 7 = {{Code|funkcja1}} {{Patrz|funkcja1}} | _7 = Funkcja operująca na wygenerowanym pośrednio (dłuższe liczenie) lub bezpośrednio (krótsze) znaczniku, wychodząca z szablonu, i zamieniająca go na rozdział równaniowy, funkcja operująca dla szablonów: {{s|SpisTreści}} lub {{s|HNumer}},
| 8 = {{Code|funkcja2}} {{Patrz|funkcja2}} | _8 = funkcja operująca na znaczniku '''HTML''' nagłówka - typu jak: {{Tag|h1}}, i zamieniająca go na rozdział równaniowy.
}}
==== {{Śródtytuł|ParametrNR}}{{Code|ParametrNR}} ====
Funkcja liczy dokładnie parametr dany o danym numerze, zbiór danych parametrów oznaczających to samo może być wiele, tylko że jedne mogą być ważniejsze od drugich.
Definicja skrótowa funkcja:
<syntaxhighlight lang="lua">
local function ParametrNR(numer)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|numer}} {{Patrz|numer}} | _1 = Numer parametru.
}}
Funkcja wykorzystywuje funkcję do uruchomienia: {{Code|{{sr|#p.SpisRzeczySzablon|p=StronicowyParser/Potrzebne}}}}, do generowania parametrów, a właściwie ich wartości.
==== {{Śródtytuł|ObiektKodNumer}}{{Code|ObiektKodNumer}} ====
Funkcja dodająca do bazy danych kolejny element bazy: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, dla danego obiektu element na samym końcu, po maksymalnym elemencie do niego. Funkcja liczy kod przy pomocy funkcji: {{Code|{{sr|#p.NormaKoduKodowaniaTekstu|p=Szablonowe}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local ObiektKodNumer=function(szablon,obiekt)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
}}
==== Dalszy opis funkcji ====
Dla {{LinkPatrz|czy_szablon}} prawdziwego dla szablonów sztucznego spisu treści, sprawdzanego przez tabelkę: {{Code|{{sr|#p.szablony_sztucznego_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}}, dla danego szablonowego rozdziału generowanego według {{s|HNumer}}, jest on zamieniany na rozdział równaniowy poprzez funkcję: {{LinkPatrz|funkcja1}}.
Ta tabela przedstawia się treścią:
{{Tbl|uchwyt=p.szablony_sztucznego_wprowadzenia_tekstu|tekst=
<syntaxhighlight lang="lua">
p.szablony_sztucznego_wprowadzenia_tekstu={
["HNumer"]=1,
};
</syntaxhighlight>}}
Dla innych rozdziałów szablonowych, tym razem generowanego przez szablon {{s|SpisTreści}}, którego parametry są wyznaczane przez funkcję: {{LinkŚródtytuł|ParametrNR}}, tabelka parametrów opisująca to:
{{Tbl|uchwyt=p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu|tekst=
<syntaxhighlight lang="lua">
p.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu={
["SpisTreści"]={{"artykuł",1,},{"książka",2,},{"nazwa",3,},{"dodatek",4,},{"poziom",},},
};
</syntaxhighlight>}}
Funkcja liczy artykuł, koloruje do niego link w: '''spisie treści''', na czerwona, wtedy generuje dodatkowy znacznik, z właściwością: {{Code|color:red}}, gdy on nie istnieje, i to wstawia do tabeli bazy, lub bez niego, wtedy bezposrednio generuje tekst równy nazwie tego szablonu, opakowany, lub nie, w zależności od istnienia. Do policzenia strony, czy ona istnieje, musi być przedtem zdekodowany funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, by później policzyć to sprawdzenie przy pomocy: {{Code|{{sr|#p.PoliczZbiory|p=Techniczne}}}}.
W każdym bądź razie jest uruchomiana funkcja: {{LinkPatrz|funkcja1}}.
Gdy to nie jest szablon, tzn.: {{LinkPatrz|czy_szablon}}, jest fałszywe, ale {{LinkPatrz|czy_znacznik}} jest prawdziwe, to takie znaczniki, jak od: {{Tag|h1}} do {{Tag|h6}}, są zamieniane na czysty tekst.
W takim razie wywoływana jest dla tego przypadku funkcja: {{LinkPatrz|funkcja2}}.
Funkcja: {{LinkPatrz|funkcja1}}, jest dla szablonów nagłówków, a: {{LinkPatrz|funkcja2}}, dla znaczników nagłówków.
Z tych generowanych czystych generowanych tekstów są tworzone w tekście rozdziały równaniowe, by później wygenerować '''spis treści''', właśnie z nimi - z tymi nagłówkami, a bardziej ściśle linkami do nich.
=== {{Śródtytuł|SzablonNaglowkujWNaglowkuRozdzialu}}{{Code|SzablonNaglowkujWNaglowkuRozdzialu}} ===
Fukcja do obsługi nagłówków {{LinkPatrz|Śródtytuł}} w nagłówku, nie w tekście poza nim.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,parametry_wywolania_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod}}.
| 4 = {{Code|powtorka}} {{Patrz|powtorka}} | _4 = Numer użycia takiego samego szablonu typu {{s|Śródtytuł}} {{Patrz|Śródtytuł}}.
| 5 = {{Code|parametry_wywolania_szablonu}} {{Patrz|parametry_wywolania_szablonu}} | _5 = Parametry szablonu wraz z ich wartościami.
| 6 = {{Code|nazwa_szablonu_wywolania}} {{Patrz|nazwa_szablonu_wywolania}} | _6 = Nazwa szablonu wywołania.
| 7 = {{Code|modyfikatory_wywolania}} {{Patrz|modyfikatory_wywolania}} | _7 = Modyfikatory szablonu.
}}
Funkcja sprawdza, czy szablon w nagłówku jest typu {{LinkPatrz|Śródtytuł}}, a jeżeli tak, to liczy jego uchwyt, najpierw wyznacza je z parametru o nazwie {{Code|uchwyt}} {{Patrz|uchwyt}}, dalej sprawdzane jest, czy taki uchwyt tak zdefiniowany istnieje, jeśli tak, to wydobywana jest jego przetworzona tabela z tym właśnie uchwytek, funkcja robi to względem numeru {{Code|kod}} {{LinkPatrz|kod}} tego szablonu na podstawie funkcji: {{Code|{{sr|#p.WydobywanieUchwytuZeiBezNumeracji|p=StronicowyParser/ZbieranieDanychStron}}}}. Jeżeli wydobyta tabela {{Code|lista_dwuelementowa}} {{Patrz|lista_dwuelementowa}} nie istnieje, w takim razie jest ona dekodowana funkcją: {{Code|{{sr|#p.DekodowanieNazwySzablonu|p=StronicowyParser/Potrzebne}}}}, a później jest traktowana jako adres '''URL''', tzn. jest dekodowana funkcją: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}, dalej jest tworzona tabela pusta: {{LinkPatrz|lista_dwuelementowa}}, co dalej jest tam wstawiana do niej jako pierwszy element uzyskany uchwyt przetworzony. A jeśli jednak {{LinkPatrz|lista_dwuelementowa}} została wydobyta z naszej funkcji tabela, która istnieje, wtedy funkcja idzie, niż poprzednio, w inny krok instrukcji warunkowej, wtedy z tej tabeli jest wydobywany pierwszy element jako przetworzony wcześniej uchwyt.
Gdy {{ZobaczTeż|uchwyt}} przetworzony uchwyt jest łańcuchem znaków niepusty, wtedy on jest dodawany w postaci tabeli, w której jest ten uchwyt, na sam koniec tabeli {{Code|numeracja}} {{Patrz|numeracja}}. Gdy liczba powtórzeń jest większa niż zero, wtedy jest wywoływana funkcja, przy którym mają być zwrócone kategorie, jeśli zostaną użyte, o nazwie {{LinkPatrz|KtorySzablonMaZwracacKategorieNaglowek}}.
Gdy jednak uchwyt uzyskany nie istnieje, to wtedy jest to samo robione, co w: {{LinkZobaczTeż|uchwyt}}.
Przed zwróceniem ile razy została dokonana powtórka, jest powiększany licznik powtorek, i to jest otrzymywane z tej funkcji.
=== {{Śródtytuł|SzablonNaglowkujWTekscieRozdzialu}}{{Code|SzablonNaglowkujWTekscieRozdzialu}} ===
Funkcja do analizy szablonów nagłówków w tekście rozdziału, nie w nagłówku.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod}}.
}}
Funkcja sprawdza, czy tekst w bazie kodów jest typu: {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}, w takim razie po wykryciu, że dla tego, że jest to wywołanie szablonowe, a nie instrukcja warunkowa w wikikodzie w tekście, wtedy podobnie jest robione, co w funkcji: {{LinkŚródtytuł|SzablonNaglowkujWNaglowkuRozdzialu}}, tylko zamiast {{Code|KtorySzablonMaZwracacKategorieNaglowek}} {{LinkPatrz|KtorySzablonMaZwracacKategorieNaglowek}} jest {{Code|KtorySzablonMaZwracacKategorieTekst}} {{LinkPatrz|KtorySzablonMaZwracacKategorieTekst}}.
Przy wykryciu tam szablonu typu {{LinkPatrz|Śródtytuł}}, funkcja zawsze zwraca wartość {{Code|true}}, w innych przypadkach {{Code|false}}. W przypadku intrukcji warunkowej w wikikodzie i dla ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, jest wtedy zwracana wartość {{Code|false}}.
Funkcja w pozostałych przypadkach zwraca wartość logiczną {{Code|false}}.
=== {{Śródtytuł|SzablonyWywolywane}}{{Code|SzablonyWywolywane}} ===
Szablon zamieniający specjalne znaki szablonów, tzn.: {{Code|{{((}}}}, {{Code|{{))}}}}, {{Code|{{!}}}} i {{Code|{{=}}}}, kolejno na: {{Code|{{s|((}}}}, {{Code|{{s|))}}}}, {{Code|{{s|!}}}} i {{Code|{{s|{{=}}}}}}, takich {{ZobaczTeż|StronicowyParser}}, które zawierają wywołania '''Stronicowego Parsera''', czyli ramki typu: {{Code|{{m|StronicowyParser}}}}, czy: {{Code|{{m|StronicowyParser/}}}}, a inne są po prostu przypisywane. W przypadku linków, i nie tylko, tzn. dla szablonów {{LinkZobaczTeż|StronicowyParser}}, z innych stron niż korzystana, co jest trafnie oznaczone zaprzeczeniem parametru {{LinkPatrz|czy_artykul_korzystany}} są liczone parametry pudełkowe {{Code|{{m|Pudełko}}}}. Strony wskazane przez te parametry są analizowane, przy czym linki są przez inną funkcję, a inne już przez znów inną. Szablony nagłówków typu {{LinkPatrz|Śródtytuł}}, czy szablonów stronicowych otwierających i zamykających, one lub jego koledzy, tzn. ich: {{s|StronaStart}} i {{s|StronaKoniec}}, są zastępowane ciągiem pustym. Inne parametry opisane z tabeli {{Code|{{sr|#p.szablony_stronicowe_kontenerowe_formatowania_wzorowego|p=StronicowyParser/obiekty}}}} {{LinkTbl|p.szablony_stronicowe_kontenerowe_formatowania_wzorowego}}, są zastępowane ich zawartością, by uniknąć kontaktu nagłówków z tego typu szablonami. Szablony ideksowania określone tabelą: {{Code|{{sr|#p.szablony_indeksowania|p=StronicowyParser/obiekty}}}} {{LinkTbl|p.szablony_indeksowania}}, nie są rozwijana z kodowania lub są, w zależności, czy zmienna: {{Code|czy_indeksowanie}} {{Patrz|czy_indeksowanie}}, ma wartość {{Code|true}} - tutaj są, czy odpowiadającej fałszywej wartości logicznej - a tutaj już nie. W przypadku instrukcji warunkowych, czy ramek {{lpg|Lua}} w {{lpg|Lua|Scribunto}}, one są rozwijane - kod tego jest zawartością {{LinkPatrz|szablon}}. W innych przypadkach funkcja zwraca wartość {{Code|nil}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function SzablonyWywolywane(szablon,obiekt,kod)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|szablon}} | _1 = Jak w: {{LinkPatrz|szablon}}.
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod}}.
}}
W powyższym opisie występują szablony opisane w:
{{Tbl|uchwyt=p.szablony_stronicowe_kontenerowe_formatowania_wzorowego|tekst=
<syntaxhighlight lang="lua">
p.szablony_stronicowe_kontenerowe_formatowania_wzorowego={
["Formuła"]=1;
};
</syntaxhighlight>}}
Jest to szablon: {{s|Formuła}} i podobne, liniowe wstawiane do tekstu, ta tabela ma za zadanie zastąpić te szablony ich poszczególnym zawartościom, a ta funkcja, która ją wykorzystywuje się do tego przypadku, jest o nazwie: {{Code|{{sr|#p.ObiektySzablonoweFormatowaniaTekstu|p=StronicowyParser/Rozdziały}}}}.
Tabelą szablonów indeksowania, to są one zdefiniowane przez:
{{Tbl|uchwyt=p.szablony_indeksowania|tekst=
<syntaxhighlight lang="lua">
p.szablony_indeksowania={
["Kotwica"] =true,
["Indeksuj"]=true,
};
</syntaxhighlight>}}
Są to szablony kotwic: {{s|Kotwica}}, który jest szablonem liniowym, a {{s|Indeksuj}}, natomiast to blokowy.
=== {{Śródtytuł|SzablonyWywolywaneOgolny}}{{Code|SzablonyWywolywaneOgolny}} ===
Funkcja rozwija nagłówek, wydzielając z niego zwykły tekst, nie dopełniając pewnych operacji.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function SzablonyWywolywaneOgolny(naglowek)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|naglowek}} {{Patrz|naglowek}} | _1 = Tekst nagłówka napisu wprowadzenia tekstu.
}}
Funkcja wykorzystuje funkcję: {{Code|{{sr|#p["WydzielZwykłyTekst"]|p=Specjalne}}}}, kod jej wywoływany jest z parametrami:
<syntaxhighlight lang="lua">
local naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=specjalne_modul["WydzielZwykłyTekst"](
{
---- tekst nagłówka;
tekst=naglowek,
---- Nie wykorzystywuj w działaniu funkcji: Znaczniki, SzablonyStylowe, ZnakiSpecjalne;
["nagłówek"]=true,
---- Nie wykorzystuj dekodowania tekstu zakodowanego, bez rozwijania, ale wręcz przzeciwnie rozwijaj, pozostawiaj pewne szczególne kody przed rozkodowaniem;
nieklasycznie=true,
---- Bazę kodowania weź z zewnątrz;
kodowanie=false,
---- Wykorzystywana tablica kodowania tekstu modułu: Module:Szablonowe, zakodowanego z zewnątrz;
["tablica kodowania"]=tablica_analizy_obiektow_strony_dany_modul,
},__FUNKCJA1,__FUNKCJA2);
</syntaxhighlight>
Ta funkcja wydziela zwykły tekst z nagłówka z szablonami zwykłymi i ramkami {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, bez naruszenia działania innych elementów szablonowych, jak tagi, czyli: {{s|#tag:}}, które też współdziałają też w kodzie danego nagłówka. Również i z linkami wewnętrznymi i zewnętrznymi, z których wydziela się zwykły tekst, bo wiadomo, że one nie mogą się znaleźć w linkach '''spisu treści''', bo nie może być link w linku w nim, a one niezależnie jakie, bo to ze względu na '''HTML''' nie możliwe technologicznie.
Definicje dwóch kolejnych funkcji zdefiniowanych powyżej:
<syntaxhighlight lang="lua">
---- szablon - kod obiektu kodu w wikikodzie;
---- obiekt - typ obiektu kodu powyżej;
---- kod - numer tego samego typu obiektu;
local __FUNKCJA1=function(szablon,obiekt,kod)
---- Funkcja wykorzystywana do ewentualnego modyfikowania użytych szablonów i przedstawianiu jego kodem symbolicznym, lub zastępowania pewnych szablonów nagłówków wartością pustą;
local szablon,wynik=SzablonyWywolywane(szablon,obiekt,kod);
return szablon,wynik;
end;
local __FUNKCJA2=function(szablon,obiekt,kod)
--- rozwijaj uzyskany szablon, dalej, gdy napotkasz, jeśli zostanie włączone zmienna indeksowania w postaci wartości logicznej;
return czy_indeksowanie;
end;
</syntaxhighlight>
Funkcja zwraca wartości, tzn. zmienną z przetworzenia nagłówkowego, bez usuniętych znaczników, stylów i znaków specjalnych, tzn. części otoczone pewnymi cudzysłowami z taką samą liczbą, więc pogrubienia i pochylenia tekstu:
<syntaxhighlight lang="lua">
return naglowek, Znaczniki, SzablonyStylowe, ZnakiSpecjalne;
</syntaxhighlight>
Definicje tych zwróconych funkcji, tzn.: {{Code|Znaczniki}} {{Patrz|Znaczniki}}, {{Code|SzablonyStylowe}} {{Patrz|SzablonyStylowe}} i {{Code|ZnakiSpecjalne}} {{Patrz|ZnakiSpecjalne}}, którego opisy raczej przedstawiają ich nazwy, dokładnie one są udokumentowane tutaj:
<syntaxhighlight lang="lua">
---- tekst - tekst do przetworzenia;
local function Znaczniki(tekst,jakie,__FUNKCJA1,__FUNKCJA2)
---- jakie - nazwa lub wyrażenie regularne Lua w Scribunto nazwy ściśle określonego znacznika, a jeśli go nie podano, to usuwa dowolne znaczniki, jakie napotka, nawet znaczniki mechanizmu MediaWiki, nie tylko HTML;---- jakie - nazwa lub wyrażenie regularne Lua w Scribunto nazwy ściśle określonego znacznika, a jeśli go nie podano, to usuwa dowolne znaczniki, jakie napotka, nawet znaczniki mechanizmu MediaWiki, nie tylko HTML;
---- funkcja do usuwania znaczników, tzn. w niej inne funkcje: __FUNKCJA1 - funkcja do zakodowywania tekstu przed usuwaniem znaczników, a __FUNKCJA2 - funkcja do odkodowania tego, co pozostało;
tekst=p["UsuńZnaczniki"](tekst,jakie,__FUNKCJA1,__FUNKCJA2);
return tekst;
end;
local function SzablonyStylowe(tekst)
---- funkcja do usuwania uruchomionych stylów, tzn. tych: <templatestyles src="..."/>, wtedy to staje się kodem parsera przetwarzanego za pomocą tekstu dla tego typu znacznika, kodami parsera mogą być też inne obiekty jak ramki Lua w Scribunto, ale nie muszą być takie, ale my rozważamy tutaj tylko jeden typ kodu parsera.
tekst=p["UsuńSzablonyStylów"](tekst);
return tekst;
end;
local function ZnakiSpecjalne(tekst)
---- funkcja do usuwania cudzysłowów w takich samych ilościach z prawej i z lewej strony danego fragmentu tekstu w nim;
tekst=p["UsuńZnakiSpecjalne"](tekst);
return tekst;
end;
</syntaxhighlight>
Definicje tych funkcji znajdują się również w module: {{Code|{{ld2|Specjalne}}}}, które również przedstawiają inne funkcje do upraszczania tekstu, w tym nagłówka, ale nie tylko, bo dowolnego tekstu.
=== {{Śródtytuł|RefPrzypisowy}}{{Code|RefPrzypisowy}} ===
Mechanizm zamieniający kod referencji na jej wersję wyświetlaną na ekranie, czyli w nawiasie kwadratowym.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local RefPrzypisowy=function(obiekt,kod)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|obiekt}} {{Patrz|obiekt-ref}} | _1 = Nazwa typu przypisu, czyli jak bez nazwy, czy też jak: '''uwaga'''.
| 2 = {{Code|kod}} {{Patrz|kod-ref}} | _2 = Numer danego typu przypisu.
}}
Gdy {{LinkPatrz|obiekt-ref}} nie ma nazwy, wtedy w nawiasie kwadratowym będzie tylko numerek {{LinkPatrz|kod-ref}}, a jeśli ma nazwę, to nazwa oddzielona spacją z prawej strony, a po nim jest ten numerek.
=== Dalsza część funkcji - Tom I ===
Tutaj opowiemy o części wstępnej tej funkcji.
==== Ustalanie zmiennej nazwy modułu aktualnej, czy bieżącej ====
Funkcja ustawia zmienną: {{Code|czy_kodowanie}} {{Patrz|czy_kodowanie}}, na podstawie istnienia zmiennych: {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}} i {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}.
==== Wyznaczanie nazwy modułu aktualnej, czy bieżącej, dla strony aktualnej, jeśli ona nie istnieje ====
Jeżeli zmienna {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}} jest odpowiadającej wartości fdałszywej i mamy strona korzystaną, co określa parametr {{LinkPatrz|czy_artykul_korzystany}}, w postaci wartości prawdziwej, wtedy są liczone kolejne zmienne nazw na podstawie istnienia lub nieistnienia zmiennej {{Code|alternatywna}}, a jeśli ona jest prawdziwa, wtedy wybierane są zmienne z tą aktualną nazwą woluminu wynikłe z {{LinkZobaczTeż|strona_aktualna}}, przeciwnie z nazwą bieżącą woluminu,na podstawie tego, co wyświetla '''Stronicowy Parser''', te nazwy są ze sobą łączone, wtedy powstaje pełna nazwa strony, którą przyrównujemy do {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}}. Jeśli wartość {{LinkPatrz|czy_artykul_korzystany}} jest jednak fałszywa, w takim razie jest liczona {{LinkPatrz|nazwa_modulu_aktualna_czy_biezaca}} na podstawie wartości {{LinkPatrz|nazwa_strony}}.
==== Kodowanie '''HTML''' specjalnych znaków strony ====
Nazwę strony {{LinkPatrz|nazwa_strony}}, w której mogą występować specjalne znaki, które są niezrozumiałe z punktu widzenia '''HTML''', jeżeli np.z nich trzeba zbudować identyfikatory '''id''', a więc trzeba je zakodować, robimy to funkcją: {{Code|{{sr|#p.EncodeId|p=Html}}}}.
==== Zwracanie funkcji liczenia numeru nagłówka ====
Wyznaczamy funkcję: {{Code|HNumer}} {{Patrz|HNumer}}, która jest efektem zwrócenia przez: {{Code|{{sr|#p.LiczonyHNumer|p=StronicowyParser/Potrzebne}}}}.
==== Zamienianie szablonów nagłówków, czy nawet tych znaczników, na rozdziały równaniowe ====
Jeśli {{LinkPatrz|czy_kodowanie}} przyjmuje wartość prawdziwą, wtedy definiujemy funkcję: {{LinkŚródtytuł|SpecjalneWprowadzeniaTekstu}}. Dalej funkcja zamienia szablony: {{s|SpisTreści}} i {{s|HNumer}}, a także znaczniki: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}, na ich wersję równaniową, aby dało się je rozpoznać jako rozdziały i było je łatwo wsadzić do szablonu takiego jak: {{s|Spis treści}} i inne podobne, za pomocą dwóch kolejnych funkcji wsadzonych do pewnej funkcji modułu {{m|Szablonowe}}, która służy do operacji na takich przypadkach.
=== Zmienna strony z nagłówkami ===
Gdy jest podana zmienna: {{Code|tylko_naglowek}} {{LinkPatrz|tylko_naglowek}}, ma wartość prawdziwą, wtedy zmienna: {{Code|nazwa_strony_z_naglowkami}} {{Patrz|nazwa_strony_z_naglowkami}}, przybiera wartość pustą, przeciwnie gdy zmienna {{Code|nazwa_strony}} {{LinkPatrz|nazwa_strony}} jest ciągiem pusty, wtedy to samo, w innym pozostałym przypadku jest to dokładnie {{LinkPatrz|nazwa_strony}}, gdzie przed nim znajduje się dwukropek {{Code|:}}.
=== Dalsza część funkcji - Tom II ===
Tu powiemy coś o iteratorze, który po zebraniu danych zwraca zmienną {{Code|nil}}, co odpowiada dla pętli, jej przerwaniu.
==== Definicja iteratora zbierania informacji o stronie ====
Aby uruchomić pętle na rzeczywistych danych zakodowanej, czy nie, stronie, trzeba otrzymać zmienną pętli {{Code|iterator}} {{Patrz|iterator}} i go wywoływać bezparametrowo w każdym okrążeniu pętli, aby tak się stało, to trzeba uruchomić funkcję: {{Code|{{sr|#p.IterTekst|p=StronicowyParser/Rozdziały}}}}, na tekście {{LinkPatrz|tekst_artykulu}}, traktując tekst, jakby nie był taki zakodowany, bo tutaj jedynie się liczą elementy niezakodowane, czyli w tym przypadku nagłówki z tekstem rozdziału.
==== Zbieranie informacji o stronie w pętli generowanej przez iterator ====
Będziemy tutaj opisywali pętlę generowaną przez jego iterator {{LinkPatrz|iterator}}. W każdym okrązeniu pętli otrzymujemy dane:
{{OpisParametrów
| 1 = {{Code|naglowek_tab}} {{Patrz|naglowek_tab}} | _1 = Gdzie pierwszy jego element to {{Code|naglowek}} {{LinkPatrz|naglowek}}.
| 2 = {{Code|text_rozdzialu}} {{Patrz|text_rozdzialu}} | _2 = Tekst rozdziału.
| 3 = {{Code|poziom_rozdzialu}} {{Patrz|poziom_rozdzialu}} | _3 = Poziom rozdziału.
}}
===== Definicja nowe wartości zbierania uchwytów nagłówka w zmiennej numeracji =====
Deklaracja zmiennej {{Code|numeracja}} {{LinkPatrz|numeracja}} jest na zewnętrz pętli, w niej tworzymy jej nową wartość, którą jest tablica pusta.
==== Uzyskiwanie informacji z tekstu rozdziału nagłówka, i jego możliwych uchwytach, w poszczegolnym okrążeniu pętli, i zrzuceniu tam pojedynczego kodu problemu ====
Jeżeli {{ZobaczTeż|text_rozdzialu}} tekst strony jest zakodowany, to iterujemy po tekście {{LinkPatrz|text_rozdzialu}} w poszukiwaniu kodów bazy kodów zakodowanego tekstu, w tym celu wywołujemy pętlę: {{Code|{{sr|#p.IteratorSzablonowyZakodowanegoTekstu|p=Szablonowe}}}}, wtedy uzyskujemy trzy obiekty w każdym przebiegu pętli, tzn. {{Code|szablon}} {{LinkPatrz|szablon}}, {{Code|obiekt}} {{LinkPatrz|obiekt}} i {{Code|kod}} {{LinkPatrz|kod}}, za pomocę tego uruchamiamy funkcję: {{LinkŚródtytuł|SzablonNaglowkujWTekscieRozdzialu}}. Jeżeli funkcja napotkała uchwyt szablonu: {{Code|{{s|Śródtytuł}}}}, wtedy jest zatrzymywana, w takim razie mamy informację o wystąpieniu niedozwolonego szablonu nagłówka w tekście. A jeżeli takiego szablonu tam nie ma, to układ iterator {{LinkPatrz|iterator}} iteruje aż do zakończenia danych.
==== Uzyskiwanie nagłówka i do niego identyfikatora '''id''' ====
===== Tekst niezakodowany nagłówka =====
Gdy tekst nie jest zakodowany, wtedy zmienna: {{LinkPatrz|czy_kodowanie}}, ma wartość odpowiaadające fałszywej, wtedy dla tego nagłówka {{LinkPatrz|naglowek}} jest uruchamiana funkcja: {{Code|{{sr|#p.["PrzetwórzNagłówek"]|p=Specjalne}}}}, wtedy otrzymujemy dwie wartości: {{Code|nazwa_rozdzialu_w_artykule}} {{Patrz|nazwa_rozdzialu_w_artykule}} - zmienna idententyfikatora, {{Code|naglowek}} {{LinkPatrz|naglowek}} - zmienna nagłówka. Te dwie zmienne zostały maksymalnie rozwinięte, zostały przystosowane do tego, aby słuzyły do tego, co trzego zostały stworzone.
===== Tekst zakodowany nagłówka =====
Gdy jednak {{LinkPatrz|czy_kodowanie}} przyjełajednak wartość fałszywą, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|SzablonyWywolywaneOgolny}}, z której otrzymujemy: {{Code|naglowek}} {{LinkPatrz|naglowek}} - zmienna przetworzonego i maksymalnie rozwiniętego nagłówka, oraz zmienne funkcje: {{LinkPatrz|Znaczniki}}, {{LinkPatrz|SzablonyStylowe}} i {{LinkPatrz|ZnakiSpecjalne}}.
Na podstawie defiicji: {{Code|nazwa_rozdzialu_w_artykule}} {{LinkPatrz|nazwa_rozdzialu_w_artykule}}, mamy: {{Code|naglowek}} {{LinkPatrz|naglowek}}.
====== Kompletowanie nagłówka ======
Ten nagłówek kompletujemy funkcją: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, usuwając szablony indeksowania {{LinkTbl|p.szablony_indeksowania}}, a także znaczniki: {{Tag|li}}, {{Tag|ul}} i {{Tag|ol}}.
====== Kompletowanie identyfikatora nagłówka ======
Kompletując: {{Code|nazwa_rozdzialu_w_artykule}} {{LinkPatrz|nazwa_rozdzialu_w_artykule}}, rozwijamy wszystko, oprócz atrybutów, {{Code|obiekt}} {{Code|{{=}}}} {{Code|ATRYBUTY}}, a na szablonach wywołujemy funkcję: {{LinkŚródtytuł|SzablonyWywolywaneOgolny}}.
Na identyfikatorze nagłówka {{LinkPatrz|nazwa_rozdzialu_w_artykule}} Wywołujemy kolejno lokalne funkcje: {{LinkPatrz|SzablonyStylowe}} - do usuwania rozwiniętych kodów stylów, {{LinkPatrz|ZnakiSpecjalne}} - do usuwania cudzysłowów, i {{LinkPatrz|Znaczniki}} - do usuwania znaczzników.
====== Gdy w kodzie identyfikatora nie ma symbolicznych szablonów ======
W tym przypadku uruchamiamy fukcję do dekodowania znaków '''HTML''', tzn. dziesiętnych, szesnastkowych i literowych, funkcją: {{Code|{{sr|#p.DecodeKoduHTMLZnaku|p=Html}}}}, a później kodujemy specjalne znaki identyfikatora sposobem: {{Code|{{sr|#p.EncodeSpecjalneZnakiHtml|p=Html}}}}, przy pomocy kodów '''HTML''' dziesiętnych.
===== Usuwanie zbędnych znaków w identyfikatorze =====
Usuwane są potrójne i podwójne cudzysłowy {{Code|'}} oraz odstępy i dolne myślniki na końcach łańcucha, a wewnętrz jego kolejne je są zastępowane jedną spacją.
===== Referencje i wzory matematyczne =====
Referencje są zastępowane odpowiednio przy pomocy funkcji: {{LinkŚródtytuł|RefPrzypisowy}}, a wzory matematyczne, dla obiektów typu {{Code|POSTMATH}} {{Patrz|POSTMATH}}, które są zastępowane prawidłowo poprzez: {{LzLua|mw.text.encode}}, przy pomocy: {{Code|{{sr|#p.NormaKoduZakodowanegoHtmlTekstu|p=Szablonowe}}}}, obiektem: {{Code|postMath}} {{Patrz|postMath}} z ośmioma znakami cyferkami na końcu tego, którym jest {{Code|kod}} {{LinkPatrz|kod}}.
===== Wstępne przygotowanie identyfikatora do końcowego skutecznego użytku =====
Dla danego identyfikatora one mogą się powtarzać, a identyfikator musi być unikalny, zatem trzeba napisać ich dodatkowe numerki, po policzeniu otrzymamy {{Code|numer_tego_samego_naglowka}} {{Patrz|numer_tego_samego_naglowka}}.
====== Tablica identyfikatora i nagłówka ======
Funkcja wykorzystuje tablicę: {{Code|tablica_powtarzajacych_sie_elementow}} {{Patrz|tablica_powtarzajacych_sie_elementow}}, aby policzyć numer powtarzającego się identyfikatora '''id'''.
Dla {{LinkPatrz|numer_tego_samego_naglowka}} równego {{Code|1}}, tworzemy tablicę {{Code|elementy_linku}} {{Patrz|elementy_linku}}, którego pierwszym elementem jest: {{LinkPatrz|nazwa_rozdzialu_w_artykule}}, a drugim nagłówek {{LinkPatrz|naglowek}}, a w przypadku tego numerku innego niż podana liczba, to dajemy do identyfikatora na końcu ten numerek po dolnym myślniku.
====== Uzupełnianie zmiennej do identyfikacji uchwytu z odpowiednim nagłówkiem ======
Jeśli: {{LinkPatrz|obiekty}} i {{LinkPatrz|numeracja}}, istnieją, wtedy do tej pierwszej tablicy dodawane są wszystkie elementy o takim samym typie z {{LinkPatrz|numeracja}}.
To dodawanie na końcu tablicy przedstawia się:
<syntaxhighlight lang="lua">
for _,value_numeracja in ipairs(numeracja)do
obiekty[#obiekty+1]={value_numeracja,{nazwa_strony_z_naglowkami,elementy_linku[1], elementy_linku[2]}};
end;
</syntaxhighlight>
====== Tworzenie tablicy nagłówkami i indetyfikatorami ======
Jeśli {{Code|poziom_rozdzialu}} jest większy od zera, tzn. {{Code|> 0}} {{ZobaczTeż|>0}}, wtedy liczymy numer rozdziału przy pomocy funkcji: {{Code|HNumer}} {{LinkPatrz|HNumer}} liczony z: {{Code|poziom_rozdzialu}} {{LinkPatrz|poziom_rozdzialu}}, tworząc w ten sposób wynik w postaci zmiennej {{Code|numer_rozdzialu_ustalony}} {{Patrz|numer_rozdzialu_ustalony}}.
{{HNumer|1=
======= Rozdziały ewentualnie powtarzające się =======
}}
Na sam koniec tablicy: {{Code|tablica_powtarzajacych_sie_elementow}} {{LinkPatrz|tablica_powtarzajacych_sie_elementow}}, dodajemy element identyfikatora '''id''' bez numerka, tzn.: {{Code|nazwa_rozdzialu_w_artykule}} {{LinkPatrz|nazwa_rozdzialu_w_artykule}}.
{{HNumer|1=
======= Tablica spisu treści =======
}}
Jest tworzona tablica spisu: {{Code|tablica_spisu_tresci}} {{Patrz|tablica_spisu_tresci}}, jako pusta tablica, z później dodanym elementem o kluczu: {{Code|nazwa_strony}} {{Patrz|tablica_spisu_tresci.nazwa_strony}}, którym jest o wartości: {{LinkPatrz|nazwa_strony_z_naglowkami}}.
Do tablicy: {{LinkPatrz|tablica_spisu_tresci}}, dodawane są elementy według schematu:
<syntaxhighlight lang="lua">
tablica_spisu_tresci[#tablica_spisu_tresci+1]={elementy_linku,numer_rozdzialu_ustalony};
</syntaxhighlight>
=== Dalsza część funkcji - Tom III ===
Będziemy się tutaj zajmowali z tekstem przed pierwszym rozdziałem na stronie.
==== Nagłówek na samym początku strony ====
Gdy kodowanie jest jednak włączone, tzn.: {{LinkPatrz|czy_kodowanie}}, jest prawdziwe, i mamy artykuł korzystany, tzn.: {{LinkPatrz|czy_artykul_korzystany}}, i zaprzeczenie wyłowania funkcji: {{LinkPatrz|CzyJestTakiProblemJakoElementTablicy}}, przyjmuje wartość prawdziwą, to jeśli na samym początku znajduje się rozdział, wtedy funkcja zwraca wynik: {{LinkPatrz|tablica_spisu_tresci}}.
==== Tekst przed pierwszym rozdziałem ====
Wyznaczamy ten tekst, który będzie ukrywał się pod zmienną: {{Code|tekst_zerowy}} {{Patrz|tekst_zerowy}}, który jest tekstem przed pierwszym rozdziałem lub samym tekstem zakodowanego wikikodu {{Code|tekst_artykulu}} {{LinkPatrz|tekst_artykulu}}.
===== Szablony nagłówka w tekście zerowym =====
W tym tekście iterujemy jak w punkcie: {{LinkZobaczTeż|text_rozdzialu}}, tylko zamiast {{LinkPatrz|text_rozdzialu}} jest {{LinkPatrz|tekst_zerowy}}.
=== Dalsza część funkcji - Tom IV ===
Zwracaną wartością tej funkcji jest: {{Code|tablica_spisu_tresci}} {{LinkPatrz|tablica_spisu_tresci}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
74y795aea99yqz7d0enfnelzd092cgb
Wikibooks:Moduły/StronicowyParser/Kategorie
4
63514
560601
554440
2026-11-04T10:38:32Z
Persino
2851
560601
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Kategorie}}|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 w tym module służą do zgłaszania kategorii zgłaszanych przez '''{{ld|StronicowyParser|Stronicowy Parser}}''', poprzez proste wywołanie w szablonie: {{Code|{{m|StronicowyParser|WstawKategorie}}}}, który wywołuje funkcję: {{Code|{{m|StronicowyParser/Kategorie|WstawKategorie}}}}. Kategorie są liczone raz na cały moduł poprzez wywołanie w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, za pomocą funkcji: {{LzLua|mw.loadData}}.
== {{Śródtytuł|p.InformacjeKategorie}}{{Code|p.InformacjeKategorie}} ==
Funkcja do generowania kategorii generowane przez '''{{ld|StronicowyParser|Stronicowy Parser}}'''.
<syntaxhighlight lang="lua">
function p.InformacjeKategorie()...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Brak. | komórka1 = tak
}}
Uruchamiana jest funkcja tablicowa ładowana raz na całą stronę:
<syntaxhighlight lang="lua">
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_woluminowych;
</syntaxhighlight>
Wytłumaczenie zmiennych:
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tabela, z której są uzyskiwane dane o problemach, by uzyskać z niej wiedzę o kategoriach.
Tej zmiennej tablicowej, jeśli nie istnieje jej podtablica o kluczu: {{Code|problemy}} {{Patrz|problemy}}, wtedy ta funkcja jest zakańczana. Ale jeśli dodatkowo jej podtablica o kluczu: {{Code|ktory_szablon_stronicowy_ma_zwracac_kategorie}} {{Patrz|ktory_szablon_stronicowy_ma_zwracac_kategorie}}, nie istnieje, też wtedy funkcja jest zakańczana, pod warunkiem, jeśli poprzednim razem się nie zakończyła.
Funkcja liczy nazwy ksiązki danego artykułu, tzn.: {{Code|nazwa_przestrzeni_nazw_strony}} {{Patrz|nazwa_przestrzeni_nazw_strony}}, {{Code|nazwa_przestrzeni_nazw_ksiazki_strony}} {{Patrz|nazwa_przestrzeni_nazw_ksiazki_strony}} i {{Code|nazwa_ksiazki_strony}} {{Patrz|nazwa_ksiazki_stronynazwa_ksiazki_strony}}, uzyskiwane z: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, z podzmiennych o kluczach kolejno: {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_woluminu}} {{Patrz|nazwa_przestrzeni_woluminu}} i {{Code|nazwa_woluminu}} {{Patrz|nazwa_woluminu}}.
Dla poszczególnych przestrzeni książkowych, tzn.: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, {{Np|User|link=tak}} (w przestrzeni użytkownika), {{Np|Project|link=tak}} (w niby przestrzeni nazw: '''{{ls2|Brudnopis}}/<użytkownik>/''') i dla innych przestrzeni użytkowych (niepodręcznikowych), są inicjowane zmienne: {{Code|strony_z_wielkiej_litery}} {{Patrz|strony_z_wielkiej_litery}} i {{Code|strony_z_malej_litery}} {{Patrz|strony_z_malej_litery}}, czyli pierwsza nazwa zaczyna się od duzej litery a druga od małej.
=== {{Śródtytuł|Czy_jest_taki_element_w_tabeli_problemow}}{{Code|Czy_jest_taki_element_w_tabeli_problemow}} ===
Funkcja sprawdza, czy taki problem istnieje w podanej tabeli.
<syntaxhighlight lang="lua">
local function Czy_jest_taki_element_w_tabeli_problemow(element, tablica_nazwy_ksiazki)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|element}} {{Patrz|element}} - klucz danego problemu,
* {{Code|tablica_nazwy_ksiazki}} {{Patrz|tablica_nazwy_ksiazki}} - tablica, w której szukamy problemu.
=== {{Śródtytuł|Dodaj_kategorie_naglowkuj_szczegolne}}{{Code|Dodaj_kategorie_naglowkuj_szczegolne}} ===
Funkcja służy do zgłaszania błędów w przypadku szablonu: {{s|Śródtytuł}} i {{s|LinkŚródtytuł}}, dotyczące strony dołączonej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function Dodaj_kategorie_naglowkuj_szczegolne(kategoria_bledu,czesc_nazwy_kategorii)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|kategoria_bledu}} {{Patrz|kategoria_bledu}} - kod problemu dla zgłaszania błędu w postaci kategorii,
* {{Code|czesc_nazwy_kategorii}} {{Patrz|czesc_nazwy_kategorii}} - dokończenie nazwy strony zgłaszanej kategorii.
=== {{Śródtytuł|Dodaj_kategorie_naglowkuj_ogolne}}{{Code|Dodaj_kategorie_naglowkuj_ogolne}} ===
Funkcja służy do zgłaszania błędów w przypadku szablonu: {{s|Śródtytuł}} i {{s|LinkŚródtytuł}}, dotyczące strony korzystanej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function Dodaj_kategorie_naglowkuj_ogolne(zmienna_korzystane,czesc_nazwy_kategorii)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna_korzystane}} {{Patrz|zmienna_korzystane}} | _1 = Kod problemu zgłaszanej kategorii.
| 2 = {{Code|czesc_nazwy_kategorii}} | _2 = Jak w: {{Code|czesc_nazwy_kategorii}} {{LinkPatrz|czesc_nazwy_kategorii}}.
}}
=== Dalszy opis funkcji ===
Tutaj są opisywane kody, które są wykorzystywane do zgłaszanych nazw kategorii, a te kody są ustawiane przez oprogramowanie '''Stronicowego Parsera'''.
==== Dalszy opis funkcji - część I ====
{{Tab}}Dla podtablicy: {{LinkPatrz|problemy}}, dla jej też podtablicy dla klucza o nazwie: {{Code|problemy książkowe}} {{Patrz|problemy książkowe}}, sa generowane podkategorie.
Kody zgłaszanych problemów:
* {{Code|błędy uchwytów dołączonych stron}} {{Patrz|błędy uchwytów dołączonych stron}},
* {{Code|brak spisów treści do dołączonych stron}} {{Patrz|brak spisów treści do dołączonych stron}},
* {{Code|brak spisów treści do dołączonych książek na ich stronach głównych}} {{Patrz|brak spisów treści do dołączonych książek na ich stronach głównych}},
* {{Code|dołączone strony główne nie istnieją}} {{Patrz|dołączone strony główne nie istnieją}}.
Dla: {{Code|brak spisów treści do dołączonych stron}} {{LinkPatrz|brak spisów treści do dołączonych stron}}, są generowane kategorie, gdy nie są ustawione problemy: {{Code|brak spisów treści do dołączonych książek na ich stronach głównych}} {{LinkPatrz|brak spisów treści do dołączonych książek na ich stronach głównych}} i {{Code|dołączone strony główne nie istnieją}} {{LinkPatrz|dołączone strony główne nie istnieją}}.
Dla: {{Code|brak spisów treści do dołączonych książek na ich stronach głównych}} {{LinkPatrz|brak spisów treści do dołączonych książek na ich stronach głównych}}, są generowanekategorie, gdy nie są ustawione problemy: {{Code|dołączone strony główne nie istnieją}} {{LinkPatrz|dołączone strony główne nie istnieją}}.
Dla: {{Code|dołączone strony główne nie istnieją}} {{LinkPatrz|dołączone strony główne nie istnieją}}, gdy strona (artykuł) nie należą do aktualnej książki.
Jest uruchamiana funkcja: {{LinkŚródtytuł|Dodaj_kategorie_naglowkuj_szczegolne}}, którego wywołania są:
<syntaxhighlight lang="lua">
Dodaj_kategorie_naglowkuj_szczegolne("powtórka nagłówek w stronie dołączonej","z wielokrotnymi użyciami szablonu nagłówka w jednym nagłówku");
Dodaj_kategorie_naglowkuj_szczegolne("nagłowek w tekście rozdziału w stronie dołączonej","z użyciami szablonu nagłówka w tekstach rozdziałów");
</syntaxhighlight>
==== Dalszy opis funkcji - część II ====
Dla obiektów z tablicy: {{Code|{{sr|#p.tablica_obiektowych_form|p=StronicowyParser/obiekty}}}}, jeśli są ustawione problemy do zgłoszenia, jeśli są ustawione, a one są:
Kody zgłaszanych problemów dla elementów nazwanych i nienazwanych:
* {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}} - dla wersji {{ZobaczTeż|LinkPobierzObiekt}} bez i z: {{Code|Link}} i {{Code|Pobierz}},
* {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}} - dla obiektów, nie: {{LinkZobaczTeż|LinkPobierzObiekt}}, z trzecim parametrem od: {{Code|1}} do {{Code|3}}, dla funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}},
* {{Code|brak uchwytu}} {{Patrz|brak uchwytu}} - dla elementów z: {{LinkZobaczTeż|LinkPobierzObiekt}}, z brakiem uchwytów do obiektów.
==== Dalszy opis funkcji - część III ====
Dla tablicy o kluczu: {{LinkPatrz|problemy}}, są generowane kategorie, jeśli są ustawione z któreś kodów problemów, jeżeli ich wartości przyjmują wartość {{Code|0}}, czyli:
* {{Code|nieprawidłowe nazwy korzystanych stron}} {{Patrz|nieprawidłowe nazwy korzystanych stron}},
* {{Code|nieprawidłowe nazwy stron dołączanych do stron}} {{Patrz|nieprawidłowe nazwy stron dołączanych do stron}},
* {{Code|strona nie istnieje}} {{Patrz|strona nie istnieje}},
* {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}},
* {{Code|niedozwolone znaki w spisach treści}} {{Patrz|niedozwolone znaki w spisach treści}}.
==== Dalszy opis funkcji - część IV ====
Dla tablicy o kluczu: {{Code|problemy}} {{LinkPatrz|problemy}}, są generowane kategorie, jeśli są ustawione z któreś kodów problemów dla poszczególnych przestrzeni stron, w któreś one leżą:
* {{Code|korzystana strona główna nie istnieje}} {{Patrz|korzystana strona główna nie istnieje}}.
==== Dalszy opis funkcji - zebrane nazwy stron kategorii ====
Gdy zbiór zebranych stron jest niepusty, wtedy te nazwy są wstawiane do funkcji: {{Code|{{sr|#p.Kategorie|p=Kategorie}}}}.
== {{Śródtytuł|p.WstawKategorie}}{{Code|p.WstawKategorie}} ==
Gdy są ustawione zmienne szablonowe dziecka funkcji tej ramki, lub rodzica, wtedy dla zmiennych najpierw tego pierwszego, a później tego drugiego, ale parametrów o nazwach: {{Code|bez kategorii}} {{Patrz|bez kategorii}} i {{Code|dokumentacja}} {{Patrz|dokumentacja}}.
Gdy dla: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, gdy ustawione są problemy: {{Code|problemy}} {{LinkPatrz|problemy}} i {{Code|ktory_szablon_stronicowy_ma_zwracac_kategorie}} {{LinkPatrz|ktory_szablon_stronicowy_ma_zwracac_kategorie}}, to funkcja idzie dalej, przeciwnie, ona się zakańcza.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WstawKategorie(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu.
}}
Zwrócone parametry:
* Jeśli są ustawione problemy błędów, to ona zwraca je w postaci kategorii policzonych raz na całą stronę, w przeciwnym wypadku nic nie jest zwracane.
Jest liczona nazwa szablonu i kod uchwytu przy pomocy kodów kolejno:
<syntaxhighlight lang="lua">
local nazwa_szablonu_rodzica=frame.args[2] or pf.args["nazwa szablonu rodzica"] or require("Module:Szablonowe").NazwaSzablonu(pf:getTitle());
</syntaxhighlight>
Jeśli nie ma uchwytu, to funkcja się zakańcza, przeciwnie kod jego jest odkodowany z: {{Code|{{sr|#p.DecodeHtml|p=Html}}}}.
Wtedy są liczone zmienne na podstawie:
<syntaxhighlight lang="lua">
local ktory_szablon_stronicowy_ma_zwracac_kategorie1=nazwa_szablonu_rodzica..":"..kod_uchwytu;
local ktory_szablon_stronicowy_ma_zwracac_kategorie2=tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie;
</syntaxhighlight>
Jeżeli obie te zmienne są policzone i są sobie równe, wtedy kod idzie do instrukcji warunkowej, wywołując przy pomocy funkcji: {{LzLua|mw.loadData}}, wywołując ten opisywany moduł, a właściwie funkcję: {{LinkŚródtytuł|p.InformacjeKategorie}}, z poziomu modułu: {{Code|{{ld2|StronicowyParser/InformacjeKategorie}}}}, wtedy otrzymujemy tablicę, z którego liczymy podtablicę o kluczu: {{Code|informacje_o_kategoriach_stronicowego_parsera}} {{Patrz|informacje_o_kategoriach_stronicowego_parsera}}, który zawiera policzone raz na stronę wszystkie kategorie zgłoszone przez '''{{ld|StronicowyParser|Stronicowy Parser}}''', które są zwracane przez tą funkcję, przez funkcję: {{LzLua|mw.loadData}}, wywołując moduł, {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, o nazwie: {{Code|{{ld2|StronicowyParser/InformacjeKategorie}}}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
dgrvqupr2xvie9foiwv5e4ajhjlu68u
Wikibooks:Moduły/StronicowyParser/NumerLubNazwaArtykułówKsiążek
4
63515
560602
556654
2026-11-04T10:48:05Z
Persino
2851
560602
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/NumerLubNazwaArtykułówKsiążek}}|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 pobierania numerku artykułu lub nagłówka o którymś numerze jego nazwy przy pomocy szablonu: {{s|PobierzNumerArtykułu}}, lub odwrotnie jej nazwy, dzięki: {{s|PobierzNazwęArtykułu}}. Można też zbierać informacje przy pomocy wywołania ramki: {{m|StronicowyParser|PobierzDaneKsiążki}}.
== {{Śródtytuł|funkcje lokalne}}Funkcje lokalne, numerków i nazw, potrzebne i pomocne ==
Funkcje lokalne potrzebne do użycia w funkcjach użytych w rozdziale: {{LinkŚródtytuł|StronicowyParser/NumerLubNazwaArtykułówKsiążek}}, są zdefiniowane kolejno w modułach.
Są to funkcje lokalne dla funkcji liczenia, numerków lub nazw, na podstawie tego przeciwnego, oraz do wyznaczania bazy, numerków i nazw, z innymi parametrami rozdziałów i artykułów.
=== {{Code|{{ld2|StronicowyParser/NumerLubNazwaArtykułówKsiążek/Potrzebne}}}} (potrzebne) ===
Są to funkcje potrzebne, czyli konieczne, do budowy funkcji do liczenia nazw i numerków.
==== {{Śródtytuł|p.PobierzNumerLubNazweArtykulu}}{{Code|p.PobierzNumerLubNazweArtykulu}} ====
Funkcja do pobierania nazwy lub numerka rozdziału lub artykułu jego przeciwnego, przy pomocy funkcji, realizowana przy pomocy funkcji: {{LinkPatrz|__FUNKCJA}}, ale też za pomocą tej funkcji można zbierać informacje.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.PobierzNumerLubNazweArtykulu=function(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane_wszystkie)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} {{Patrz|frame}} | _1 = Tablica ramki tablicy transportu funkcji.
| 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} | _2 = Tablica używana zamiast uzyskania tablicy ramki: {{Code|{{ld2|StronicowyParser/informacje}}}}, a właściwie jego głównej podtablicy.
| 3 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _3 = Funkcja do uzyskania tego, co jest potrzebne w nagłówku, ale też ona służy do zbierania informacji.
| 4 = {{Code|typ}} {{Patrz|typ}} | _4 = Prawdziwe, gdy jest uzyskiwana nazwa artykułu na podstawie jego numeru, przeciwnie, wtedy odwrotnie.
| 5 = {{Code|zbieraj_dane_wszystkie}} {{Patrz|zbieraj_dane_wszystkie}} | _5 = Prawdziwe, gdy funkcja służy do zbierania informacji.
}}
{{OpisParametrów
| tytuł = Parametry tablica ramki {{nobold|{{LinkPatrz|frame}}}} tablicy transportu funkcji:
| 1 = {{Code|nagłówek}} {{Patrz|nagłówek}} | _1 = Prawdziwe, gdy artykuły mogą się powtarzać.
| 2 = {{Code|nie wszystkie}} {{Patrz|nie wszystkie}} | _2 = Prawdziwe, wtedy nie są brane wszystkie rozdziały.
| 3 = {{Code|dane}} {{Patrz|dane}} | _3 = Typ zbieranych lub uzyskiwanych danych.
| 4 = {{Code|spis}} {{Patrz|spis}} | _4 = Nazwa artykułu spisu, a więc który spis ma rozważać.
| 5 = {{Code|poziomowo}} {{Patrz|poziomowo}} | _5 = Czy ma brać numerki wielopoziomowe, czyli oddzielonych kropkami.
| 6 = {{Code|nazwa}} {{Patrz|nazwa-p.PobierzNumerLubNazweArtykulu}} | _6 = Brana jest nazwa linku artykułu zamiast nazwy.
| 7 = {{Code|który}} {{Patrz|który}} | _7 = którą nazwę nagłówka lub artykułu, albo jego numer, w zależności od ustawień, ma wyszukać, aby np. zwrócić to przeciwne.
}}
Powyższe parametry to są parametry ramki rodzica, czyli szablonu.
Przykłady funkcji: {{LinkPatrz|__FUNKCJA}}, są kolejno w punktach: {{LinkŚródtytuł|__FUNKCJA-PobierzNumerArtykułu}} dla funkcji: {{LinkŚródtytuł|p["PobierzNumerArtykułu"]}}, {{LinkŚródtytuł|__FUNKCJA-PobierzNazwęArtykułu}} dla funkcji: {{LinkŚródtytuł|p["PobierzNazwęArtykułu"]}}, i {{LinkŚródtytuł|__FUNKCJA-PobierzDaneKsiążki}} dla funkcji: {{LinkŚródtytuł|p["PobierzDaneKsiążki"]}}.
Funkcja numeruje poszczególne nagłówki lub artykuły i na podstawie funkcji: {{LinkPatrz|__FUNKCJA}}, coś uzyskuje.
; Są różne typy zbierania danych, one charakteryzują się parametrem {{LinkPatrz|dane}}, ten parametr uzyskuje różne liczby, a one są {{Code|1}}, {{Code|2}} lub {{Code|3}}, a one oznaczają{{dk}}
{{OpisParametrów
| 1 = {{Code|1}} | _1 = Rozważa tylko artykuły.
| 2 = {{Code|2}} | _2 = Rozważa tylko rozdziały.
| 3 = {{Code|3}} | _3 = Rozważa nie tylko artykuły, również rozdziały.
}}
Brak tej danej lub inna wartość oznacza, że brana jest jego domyślna wartość: {{Code|dana}} {{Code|{{=}}}} {{Code|1}}.
Funcja bierze pod uwagę rozdziały dodatnie równaniowo, centrowane szablonowo lub znacznikowo, a nawet nagłówki, które też są nimi, ale również średnikowe, czy zerowe, a nawet ujemne.
; Kolejność ważności rozdziałów{{dk}}
* Rozdziały centrowane szablonowo ({{s|Ce}}, {{s|Centruj}} i {{s|Center}}) bądź znaczniowo ({{Tag|center}}),
* Rozdziały dodatnie równaniowo (jak: {{Code|<nowiki>== Nagłówek ==</nowiki>}}) i nagłówki ({{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}), a także nagłówki generowane przez szablon {{s|HNumer}} (ten szablon przy tym zachowuje zgodność z rozdziałami dodatnimi równaniowo, ale nie do końca),
* Rozdziały średnikowe (zaczynające się od znaku {{Code|<nowiki>;</nowiki>}}),
* Rozdziały zerowe (niezaczynające się od żadnego specjalnego znaku),
* Rozdziały ujemne - to są pozycje list zaczynających się od {{Code|<nowiki>[%*:#]</nowiki>}},
** Ważność rozdziałów ujemnych jest w kolejności od znaku zaczynającego listę: {{Code|<nowiki>*</nowiki>}}, {{Code|<nowiki>#</nowiki>}} i {{Code|<nowiki>:</nowiki>}} (bo czasami dwukropek nie jest numerowany, jeżeli jest pochyły, lub zawiera za dużo znaków).
Funkcja przy pomocy zmiennej {{LinkPatrz|nagłówek}}, zbiera, nawet powtarzające się, artykuły, nawet gdyby były one z nagłówkami. Można również rozważyć, jakie rozdziały ma zbierać, w spisach w rozdziale '''Spis treści''' i '''SPIS RZECZY''', są zbierane wszystkie rozdziały, w innych miejscach rozdziały moga nie być wszystkie zbierane, a jeżeli tak jest, to parametr {{LinkPatrz|nie wszystkie}} ma wartość niepustą.
; Typy rozdziałów spisowych i sposób numerowania{{dk}}
* Rozdziały, według funkcji, w rozdziałe głównym danego spisu i o nazwie: '''Spis treści''' i '''SPIS RZECZY''', są liczone względem tych poszczególnych kolejno rozdziałach, ale od początku, a po wyściu z tego drugiego odtwarzane jego numer spisu treści, i na podstawie tak uzyskanego numeru tego liczy on dalej.
* Dla innych rozdziałów w wielu spisach (jeżeli podręcznik jest wielospisowy, tzn. ma wiele spisów treści), a nie tylko jedynym, do numeru rozdziału i artykułów (tymi rozdziałami są: dodatnie, czy ujemne, a nawet średnikowe badź zerowe), są wykorzystywane numery innych poprzedzających, czy nawet następujących czasami, tych elementów spisowych.
Można zbierać dane, jeśli {{LinkPatrz|poziomowo}} jest prawdziwa, wtedy numerki są wielopoziomowe, tzn. ewentualnie rozdzielone numerkami, przeciwna wartość determiniuje, że nagłówki lub artykuły, w zależności od ustawień zbierania danych w spisach książki, są numerowane tylko liczbami naturalnymi od {{Code|1}}.
Wartość {{LinkPatrz|nazwa-p.PobierzNumerLubNazweArtykulu}}, to zamiast nazwy artykułu brana jest jej nazwa linku, podczas pobierana nazwy.
Parametr {{LinkPatrz|który}} jest liczbą lub domyślną wartością {{Code|1}}, to oznacza, że brana jest wartość nazwy artykułu na podstawie numerka jej ten numer okreslony tą zmienną, lub jeśli pobierany jest numer to ten numer nazwy. A co oznacza '''ten numer''', właśnie to, że brana jest ta zmienna, która jest taka sama o tym numerze.
Czasami, jeśli w rozdziale jest wiele artykułów, to ten artykuł jest traktowany jako rozdzial, i w nim artykuły są liczone osobno w odpowiedni sposób. Czasami znaki przed artykułem podowują, że taki rozdział jest liczony jako rozdział, a z artykułami jest jak poprzednio, a gdy w artykuł jest na poczatku pozycji spisu, to to wtedy jest to zwykły artykuł.
=== {{Code|{{ld2|StronicowyParser/NumerLubNazwaArtykułówKsiążek/Pomocne}}}} (pomocne) ===
Są to funkcje potrzebne, czyli dostateczne, do budowy funkcji do liczenia nazw i numerków.
==== {{Śródtytuł|p.ZamienNumerArtykuluNaTabele}}{{Code|p.ZamienNumerArtykuluNaTabele}} ====
Funkcja zamienia numerki z kropkami na tabelę, z nich.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.ZamienNumerArtykuluNaTabele=function(numer_artykulu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|numer_artykulu}} {{Patrz|numer_artykulu}} | _1 = Numer artykułu lub nagłówka, którego numerki są oddzielone kropkami.
}}
Funkcja zwraca tę tablicę numerków rozpakujący: {{LinkPatrz|numer_artykulu}}, z niego numerki, który każdy element numerowany tej tablicy, to są te elementy oddzielone kropkami w tym numerze artykułu.
==== {{Śródtytuł|p.UsuwaniePierwszychJedynekZWyliczaniaSpisuTresci}}{{Code|p.UsuwaniePierwszychJedynekZWyliczaniaSpisuTresci}} ====
Funkcja w odpowiedni w sposób usuwa pierwsze jedynki w numerach, które mogą na początku się powtarzać. Tylko te jedynki są usuwane,aby nie wyzerować tablicy numerków.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.UsuwaniePierwszychJedynekZWyliczaniaSpisuTresci=function(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce,tab_numer_artykulu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
| 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}.
| 3 = {{Code|tab_lista_artykulow_w_ksiazce}} {{Patrz|tab_lista_artykulow_w_ksiazce}} | _3 = Tablica spisów książki, jego rozdziałów i artykułów.
| 4 = {{Code|tab_numer_artykulu}} {{Patrz|tab_numer_artykulu}} | _4 = Tabela numerków nagłówków lub artykułów.
}}
Funkcja generuje na podstawie {{LinkPatrz|tab_lista_artykulow_w_ksiazce}} tabelę listy spisów, które należą też do tych spisów. Na podstawie tej tabeli, jeżeli jakis inny spis, niż główny, nie należy do tej tabeli, to funkcja zwraca tabelę numerków {{LinkPatrz|tab_numer_artykulu}}.
Funkcja dla długości tablicy większej niż jeden, jeżeli ten numerek jest {{Code|1}}, to jest on usuwamy. A jeżeli dalszy numerek jest też {{Code|1}}, wtedy jeżeli jest jakiś główny jego rozdział, to wtedy jest usuwana początkowa jedynka.
Funkcja zwraca przetworzoną niepustą tablicę {{LinkPatrz|tab_numer_artykulu}}.
==== {{Śródtytuł|p.IntegrowanieNumeracjiArtykuluZWyliczaniemSpisuTresci}}{{Code|p.IntegrowanieNumeracjiArtykuluZWyliczaniemSpisuTresci}} ====
Funkcja łączy numerację spisu z numeracją artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.IntegrowanieNumeracjiArtykuluZWyliczaniemSpisuTresci=function(numer_artykulu,numer_spisu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|numer_artykulu}} | _1 = Jak w: {{LinkPatrz|numer_artykulu}}, czyli numerki oddzielone kropkami artykułu.
| 2 = {{Code|numer_spisu}} {{Patrz|numer_spisu}} | _2 = Numerki oddzielone kropkami spisu.
}}
Funkcja zamienia na tablicę numerków przy pomocy funkcji {{LinkŚródtytuł|p.ZamienNumerArtykuluNaTabele}} numerki artykułu {{LinkPatrz|numer_artykulu}}, a jeśli tablica numerków artykułu jest mniejszy niż jeden, wtedy zwraca tą pustą tablicę numerków. A pózniej ta zamiana na tablicę w ten sam sposób odbywa się dla {{LinkPatrz|numer_spisu}}.
Funkcja dla początkowego numerku w tablicy {{LinkPatrz|numer_artykulu}}, zamienia na końcowy numerek spisu {{LinkPatrz|numer_spisu}}. Dalsze numerki ze spisu są dodawane kolejno do numerek artykułów na samym początku tablicy.
Funkcja zwraca numerek całkowity artykułu w postaci połączonej z dwóch numerków spisu i artykułu.
==== {{Śródtytuł|p.WarunekSpisuWoluminu}}{{Code|p.WarunekSpisuWoluminu}} ====
Funkcja do sprawdzania w funkcjach tablicy transportu: {{LinkŚródtytuł|p["PobierzNumerArtykułu"]}} i {{LinkŚródtytuł|p["PobierzNazwęArtykułu"]}}, czy numer całkowity artykuły, czy rozdziału, powstałym po połączeniu ze sobą numeru rozdziału i numeru artykułu, którą trzebaa bezpośrednio zrzucić, bez przetwarzania, przez te funkcje.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.WarunekSpisuWoluminu=function(nazwa_spisu,numer_spisu,tab_numer,tab_poziomowo)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|nazwa_spisu}} | _1 = Jak w: {{LinkPatrz|nazwa_spisu}}.
| 2 = {{Code|numer_spisu}} | _2 = Jak w: {{LinkPatrz|numer_spisu}}.
| 3 = {{Code|tab_numer}} | _3 = Jak w: {{LinkPatrz|tab_numer}}.
| 4 = {{Code|tab_poziomowo}} | _4 = Jak w: {{LinkPatrz|tab_poziomowo}}.
}}
== {{Śródtytuł|StronicowyParser/NumerLubNazwaArtykułówKsiążek}}{{Code|{{ld2|StronicowyParser/NumerLubNazwaArtykułówKsiążek}}}} ==
To są funkcje zwracane do tablicy transportu, i mogą być one widoczne ze strony innych modułów. Te funkcje wykorzystują funkcje z rozdziału: {{Code|{{LinkŚródtytuł|funkcje lokalne}}}}.
=== {{Śródtytuł|p["PobierzNumerArtykułu"]}}{{Code|p["PobierzNumerArtykułu"]}} ===
Funkcja pobierania numeru artykułu, wedle ustawień, na podstawie jej nazwy. Funkcja jest implemetowana w szablonie: {{s|PobierzNumerArtykułu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
| 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}.
}}
==== {{Śródtytuł|__FUNKCJA-PobierzNumerArtykułu}}{{Code|__FUNKCJA}} ====
Jest to funkcja, dzięki, której można zamienić nazwę nagłówka, czy artykułu, na numer, będący liczbą naturalną od {{Code|1}}, lub numerkami oddzielonych kropkami, w zależności od ustawień.
Definicja skrótowa funkcji {{ZobaczTeż|__FUNKCJA-PobierzNumerArtykułu}}:
<syntaxhighlight lang="lua">
local function __FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo,czy_nienilowy_rozdzial,czy_artykuly_podrecznikowe,przekierowanie,nazwa,artykul_spisu,nazwa_spisu,numer_spisu,tab_lista_artykulow_w_ksiazce,glowny_spis_tresci_lub_rozdzial_ksiazki)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji {{nobold|{{ZobaczTeż|Parametry-PobierzNumerArtykułu}}}}:
| 1 = {{Code|poziomowo}} | _1 = Jak w: {{LinkPatrz|poziomowo}}, czyli czy dopasowanie ma być wielopoziomowe, oddzielone kropkami, czy liczba naturalną..
| 2 = {{Code|i}} {{Patrz|i}} | _2 = Gdy {{LinkPatrz|poziomowo}}, jest fałszywe, to który numer jest danego rozdziału lub artykułu, jest to liczba naturalna.
| 3 = {{Code|ktory}} | _3 = Jak w: {{LinkPatrz|który}}, czyli które takie samo dopasowanie ma uwzględnić.
| 4 = {{Code|pierwszy_parametr_szablonu}} {{Patrz|pierwszy_parametr_szablonu}} | _4 = Jest to bezparametrowa funkcja zwracająca tabelę z trzech parametrów, w którym elementami są kolejno: pierwszy jest to pierwszy parametr szablonu, który uruchamia funkcję, która z kolei iteracyjnie wywołuje tą funkcję, ono przyjmuje taką formę w zależności od parametru {{LinkPatrz|typ}}, drugi, czy zamiast artykułu ma zwracać nazwę linku, a trzeci to jest parametr {{LinkPatrz|dane}}.
| 5 = {{Code|rozdzial}} {{Patrz|rozdzial}} | _5 = Rozdział w spisie.
| 6 = {{Code|artykul}} {{Patrz|artykul}} | _6 = Nazwa artykułu, w spisie, w książce lub innej strony.
| 7 = {{Code|tab_numer}} {{Patrz|tab_numer}} | _7 = Tablica numerków charakteryzujący po połączeniu łacznikiem kropką jest to numer rozdziału.
| 8 = {{Code|tab_poziomowo}} {{Patrz|tab_poziomowo}} | _8 = Tablica numerków charakteryzujący po połączeniu łacznikiem kropką jest to numer artykułu w rozdziale.
| 9 = {{Code|czy_nienilowy_rozdzial}} {{Patrz|czy_nienilowy_rozdzial}} | _9 = Czy rozważany rozdział jest nienilowy.
| 10 = {{Code|czy_artykuly_podrecznikowe}} {{Patrz|czy_artykuly_podrecznikowe}} | _10 = Czy artykuł jest stroną podręcznika.
| 11 = {{Code|przekierowanie}} {{Patrz|przekierowanie}} | _11 = Nazwa artykułu przekierowania.
| 12 = {{Code|nazwa}} {{Patrz|nazwa}} | _12 = Nazwa linku artykułu.
| 13 = {{Code|artykul_spisu}} {{Patrz|artykul_spisu}} | _13 = Nazwa artykułu spisu, podany w parametrach szablonu, która uruchamia funkcję, która z kolei wywołuje tą funkcję.
| 14 = {{Code|nazwa_spisu}} {{Patrz|nazwa_spisu}} | _14 = Nazwa artykułu spisu wśród wszystkich spisach.
| 15 = {{Code|numer_spisu}} - jak w: {{LinkPatrz|numer_spisu}} | _15 = Jest to numer spisu, jest to liczba naturalna.
| 16 = {{Code|tab_lista_artykulow_w_ksiazce}} | _16 = Jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce}}.
| 17 = {{Code|glowny_spis_tresci_lub_rozdzial_ksiazki}} {{Patrz|glowny_spis_tresci_lub_rozdzial_ksiazki}} | _17 = Czy artykuł znajduje się w głównym spisie treści.
}}
Gdy {{Code|artykul}} {{LinkPatrz|artykul}} przyjmuje wartość pustą, wtedy jest sprawdzany rozdział, jeśli {{Code|dane}} {{LinkPatrz|dane}} jest równy liczbowo {{Code|2}} lub {{Code|3}}, w takim razie jest sprawdzany rozdział {{LinkPatrz|rozdzial}} ze zmienną podaną jako pierwszy parametr podanego szablonu, a jeśli to {{LinkPatrz|artykul}} przyjmuje inną wartość, wtedy dla {{LinkPatrz|dane}} równe {{Code|1}} lub {{Code|3}}, wtedy jest z tym pierwszym parametrem sprawdzany {{LinkPatrz|artykul}}, a jeżeli w tym przypadku dopasowanie się nie powiedzie, wtedy tak samo jest sprawdzane jego przekierowanie {{LinkPatrz|przekierowanie}}.
Jeśli poprzednie dopasowanie się powiedzie, wtedy jest sprawdzane, czy to takie samo dopsasowanie jest {{LinkPatrz|który}}, a ten licznik tych samych dopasowań jest bez przerwy liczony, gdy {{Code|poziomowo}} {{LinkPatrz|poziomowo}} przyjmuje wartość fałszywą, wtedy zwracane są dwa parametry, tzn. kolejno: {{Code|i}} {{LinkPatrz|i}} i {{Code|glowny_spis_tresci_lub_rozdzial_ksiazki}} {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}, przeciwnie, wtedy, dalej będziemy rozważać, numerki rozdziału i artykułu można przedstawić w postaci tabel numerków, które mozna płączyć w każdnym z nich kropkami, a je kolejno kropkami. Po takim połączeniu otrzymamy numerem artykułu {{Patrz|numer_artykułu}} w danej książce, numery artykułu mogą się powtarzać rozdziałów lub artykułów.
Gdy {{ZobaczTeż|Parametry bez przetwarzania}} jest jeden spis, którym jest strona główna książki, albo nie istnieje {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}} nie istnieje i jeśli fukcja: {{LinkŚródtytuł|p.WarunekSpisuWoluminu}}, zwróciła prawdę, lub: {{Code|glowny_spis_tresci_lub_rozdzial_ksiazki}} {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}, i {{Code|glowny_spis_tresci_lub_rozdzial_ksiazki_poprz}} {{Patrz|glowny_spis_tresci_lub_rozdzial_ksiazki_poprz}} (poprzednie {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}), są prawdę, i numer spisu {{LinkPatrz|numer_spisu}} istnieje, i jest większy od zera, wtedy jest zwracane {{ZobaczTeż|numer_artykułu}} numer artykułu {{LinkPatrz|numer_artykułu}}, jako pierwsza zwracana wartość, a druga {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}.
W innym przypadku, gdy spis jest pierwszy, i jest główny spis treści według {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}, to podobnie robimy jak w punkcie {{LinkZobaczTeż|numer_artykułu}}, przeciwnie: numer artykułu {{LinkPatrz|numer_artykułu}} jest zamieniany na tabelę dzięki {{LinkŚródtytuł|p.ZamienNumerArtykuluNaTabele}}, i z niego są usuwane początkowe jedynki przy pomocy {{LinkŚródtytuł|p.UsuwaniePierwszychJedynekZWyliczaniaSpisuTresci}}, dalej robimy tak jak: {{ZobaczTeż|parametry zwracane łącznikowe}} uzyskana tabela jest łączona w łańcuch znakowych z łącznikiem kropką, używając funkcji: {{LzLua|table.concat}}, a drugim parametrem zwracanym jest {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}.
A gdy jeszcze nie zwrócono wyniku, wtedy liczony jest numer spisu treści na podstawie: {{LinkŚródtytuł|p.PobierzNumerLubNazweArtykulu}}, jeśli on nie istnieje, wtedy jest zwracany numer artykułu {{LinkPatrz|numer_artykułu}} jak w: {{LinkZobaczTeż|numer_artykułu}}, przeciwnie mamy, w którym jest dany artykuł, który po połączeniu z numerem artykułu daje całkowity numer artykułu, a ta integracja następuje dzięki {{LinkŚródtytuł|p.UsuwaniePierwszychJedynekZWyliczaniaSpisuTresci}}, co póżniej jest zwracane jak w: {{LinkZobaczTeż|parametry zwracane łącznikowe}}.
==== Dalsza część funkcji ====
Wywoływana jest tutaj funkcja: {{LinkŚródtytuł|__FUNKCJA-PobierzNumerArtykułu}}, która zwraca dwie dane, tzn. numer rozdziału lub artykułu. Drugą wartością zwracaną jest, czy to znajduje się, co to pierwsze opisuje w rozdziale głównym.
Główna definicja funkcji:
<syntaxhighlight lang="lua">
local stronicowyparser_numerlubnazwaartykulowksiazek_potrzebne_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek/Potrzebne");
local wartosc,glowny_spis_tresci_lub_rozdzial_ksiazki=stronicowyparser_numerlubnazwaartykulowksiazek_potrzebne_modul.PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false);
return wartosc,glowny_spis_tresci_lub_rozdzial_ksiazki;
</syntaxhighlight>
=== {{Śródtytuł|p["PobierzNazwęArtykułu"]}}{{Code|p["PobierzNazwęArtykułu"]}} ===
Funkcja pobierania nazwy artykułu na podstawie jej numeru, wedle ustawień. Funkcja jest implemetowana w szablonie: {{s|PobierzNazwęArtykułu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
| 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}.
}}
==== {{Śródtytuł|__FUNKCJA-PobierzNazwęArtykułu}}{{Code|__FUNKCJA}} ====
Jest to funkcja, dzięki, której można zamienić numer nagłówka, czy artykułu, na nazwę, ten numer będący liczbą naturalną od {{Code|1}}, lub numerkami oddzielonych kropkami, w zależności od ustawień.
Definicja skrótowa funkcji ma ten sam kształt, co w: {{LinkZobaczTeż|__FUNKCJA-PobierzNumerArtykułu}}, a opis parametrów jest według: {{LinkZobaczTeż|Parametry-PobierzNumerArtykułu}}.
Gdy {{Code|poziomowo}} {{LinkPatrz|poziomowo}} jest welkością fałszywą, i gdy {{Code|i}} {{LinkPatrz|i}} jest równe {{Code|numer}} {{Patrz|numer}}, który jest pierwszym parametrem, wtedy dla {{Code|ktory}} {{LinkPatrz|który}}, dla jakiegoś tego samego powtórzenia, gdy {{Code|artykul}} {{LinkPatrz|artykul}} jest nie równy ciągowi pustemu, wtedy jest wyświetlany artykuł {{LinkPatrz|artykul}}, jeśli {{Code|nazwa}} (parametr ramki {{LinkŚródtytuł|p.PobierzNumerLubNazweArtykulu}}) {{LinkPatrz|nazwa-p.PobierzNumerLubNazweArtykulu}} jest niepuste, przeciwnie jest wyświetlana nazwa linku artykułu, a dla {{LinkPatrz|artykul}} pustego, wtedy jest wyświetlany rozdział {{LinkPatrz|rozdzial}}.
===== {{Śródtytuł|NumerArtykulu}}{{Code|NumerArtykulu}} =====
Zmienna {{Code|tab_numer}} {{LinkPatrz|tab_numer}} jest łączona kropkami przy pomocy {{LzLua|table.concat}}, a dalej {{Code|tab_poziomowo}} {{LinkPatrz|tab_poziomowo}}, łączymy takim samym łącznikiem, co poprzednio, a oba łańcuchy też łączymy w jeden większy łańcuch znakowy, którym jest numer artykułu.
===== {{Śródtytuł|WynikArtykulowyZNumeru}}{{Code|WynikArtykulowyZNumeru}} =====
Funkcja do liczenia artykułu lub nazwy artykułu albo rozdziału z jego numeru wuelopoziomowo, tzn. przy prawdziwości parametru {{LinkPatrz|poziomowo}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WynikArtykulowyZNumeru(numer_artykulu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|numer_artykulu}} | _1 = Jak w: {{LinkPatrz|numer_artykulu}}.
}}
Gdy {{LinkPatrz|artykul}} jest równy ciągowi pustemu, wtedy dla parametru {{LinkPatrz|dane}}, takiego, że {{Code|2}} lub {{Code|3}}, sprawdzamy, czy numer artykułu {{LinkPatrz|numer_artykulu}} jest równy {{Code|numer}} {{LinkPatrz|numer}}, a jeśli nie, to dla parametrów {{LinkPatrz|dane}}, takiego, że {{Code|1}} lub {{Code|3}}, ale dla artykułu {{LinkPatrz|artykul}} równym ciągowi niepustemu, wtedy dla takiego samego sprawdzenia, dla takiego samego numeru o numerze {{LinkPatrz|który}}, gdy artykuł jest nierówny ciągowi niepustemu, wtedy gdy {{LinkPatrz|nazwa-p.PobierzNumerLubNazweArtykulu}} nie jest niepusta, wtedy zwracana jest nazwa artykułu {{LinkPatrz|artykul}}, przeciwnie nazwa linku artykułu, tzn. {{Code|nazwa}} {{LinkPatrz|nazwa}}. A jeśli {{LinkPatrz|artykul}} jest jednak równy ciągowi pustemu, to wtedy jest zwracany rozdział {{LinkPatrz|rozdzial}}.
===== Dalsza część opisu funkcji {{Code|__FUNKCJA}} =====
Liczony jest numer artykułu {{LinkPatrz|numer_artykulu}} przy pomocy funkcji: {{LinkŚródtytuł|NumerArtykulu}}.
Gdy jest spełniony warunek z: {{LinkZobaczTeż|Parametry bez przetwarzania}}, wtedy {{ZobaczTeż|WynikArtykulowyZNumeru}} jest liczony wynik {{Code|wynik}} {{Patrz|wynik}} z funkcji: {{LinkŚródtytuł|WynikArtykulowyZNumeru}}. Gdy {{LinkPatrz|wynik}} istnieje, wtedy jest zwracany on w pierwszym parametrze, a w drugim zmienna {{Code|glowny_spis_tresci_lub_rozdzial_ksiazki}} {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}.
Gdy {{Code|numer_spisu}} {{LinkPatrz|numer_spisu}} istnieje, i jest równy {{Code|1}}, wtedy dla istniejącego {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}} jest podobnie liczone i zwracane, jak w punkcie {{LinkZobaczTeż|WynikArtykulowyZNumeru}}. A gdy jednak {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}} nie istnieje, wtedy numer artykulu {{LinkPatrz|numer_artykulu}} zamieniamy na tabelę na podstawie funkcji: {{LinkŚródtytuł|p.ZamienNumerArtykuluNaTabele}}, usuwamy zbędne początkowe jedynki dzięki funkcji: {{LinkŚródtytuł|p.UsuwaniePierwszychJedynekZWyliczaniaSpisuTresci}}, z tabeli. Tą tabelę {{ZobaczTeż|łączenie tabeli numeru}} zamieniamy na łańcuch znakowy z łącznikiem przy pomocy funkcji: {{LzLua|table.concat}}. Dalej robimy jak w: {{LinkZobaczTeż|WynikArtykulowyZNumeru}}.
W innym wypadku, jeśli nie zwrócono wynik, wtedy liczymy numer spisu, w którym jest dany artykuł, czy rozdział, z funkcji: {{LinkŚródtytuł|p["PobierzNumerArtykułu"]}}. Jeżeli ten spis nie istnieje, to podobnie robimy jak w punkcie: {{LinkZobaczTeż|WynikArtykulowyZNumeru}}, przeciwnie: integrujemy numer spisu z numerem artykułu, używając funkcji: {{LinkŚródtytuł|p.IntegrowanieNumeracjiArtykuluZWyliczaniemSpisuTresci}}. A jeżeli spis ten nie znajduje się w rozdziale głównym, wtedy robimy operację: {{LinkŚródtytuł|p.UsuwaniePierwszychJedynekZWyliczaniaSpisuTresci}}. Wykonujemy operację jak w: {{LinkZobaczTeż|łączenie tabeli numeru}}. A następnie podobnie robimy jak w: {{LinkZobaczTeż|WynikArtykulowyZNumeru}}.
==== Dalsza część funkcji ====
Wywoływana jest tutaj funkcja: {{LinkŚródtytuł|__FUNKCJA-PobierzNazwęArtykułu}}, która zwraca dwie dane, tzn. nazwę rozdziału lub artykułu na podstawie jego numeru. Drugą wartością zwracaną jest, czy to znajduje się, co to pierwsze opisuje w rozdziale głównym.
Główna definicja funkcji:
<syntaxhighlight lang="lua">
local stronicowyparser_numerlubnazwaartykulowksiazek_potrzebne_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek/Potrzebne");
local wartosc,glowny_spis_tresci_lub_rozdzial_ksiazki=stronicowyparser_numerlubnazwaartykulowksiazek_potrzebne_modul.PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true);
return wartosc,glowny_spis_tresci_lub_rozdzial_ksiazki;
</syntaxhighlight>
=== {{Śródtytuł|p["PobierzDaneKsiążki"]}}{{Code|p["PobierzDaneKsiążki"]}} ===
Funkcja zbierania informacji o wszystkich spisach, tzn. wiadomości o każdym rozdziale i wszystko o linkach, tzn. o ich artykułach, nawet prowadzące na inne strony na {{NS|l=tak}}, lub poza nim, a nawet o ich przetworzonych nazwach. Funkcja jest implementowana w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, tzn. {{m|StronicowyParser|PobierzDaneKsiążki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
| 2 = {{Code|tabela_listy_danych_analizy_ksiazki}} | _2 = Jak w: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}.
}}
==== {{Śródtytuł|__FUNKCJA-PobierzDaneKsiążki}}{{Code|__FUNKCJA}} ====
Jest to funkcja do pobierania danych informacji o spisach.
Definicja skrótowa funkcji jest bardzo podobna do: {{LinkZobaczTeż|__FUNKCJA-PobierzNumerArtykułu}}, a on ściślej wygląda trochę inaczej, a więc:
<syntaxhighlight lang="lua">
local function __FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo,czy_nienilowy_rozdzial,czy_artykuly_podrecznikowe,przekierowanie,nazwa,artykul_spisu,nazwa_spisu,numer_spisu,tab_lista_artykulow_w_ksiazce,glowny_spis_tresci_lub_rozdzial_ksiazki,czy_dodane,czy_inna_ksiazka,czy_url)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Te same parametry, co w: {{LinkZobaczTeż|Parametry-PobierzNumerArtykułu}}. | komórka1 = tak
| 2 = {{Code|czy_dodane}} {{Patrz|czy_dodane}} | _2 = Czy element artykułu bez nagłówka jest dodany do tabeli uzyskanego zebranego spisu, by zachować ciągłość numeracji.
| 3 = {{Code|czy_inna_ksiazka}} {{Patrz|czy_inna_ksiazka}} | _3 = Czy przekierowanie wskazuje na artykuł w innej książce, jeżeli strona główna książki nie przekierowuje do danej bieżącej książki,
| 4 = {{Code|czy_url}} {{Patrz|czy_url}} | _4 = Czy artykuł jest '''URL''', czyli czy jest adresem strony internetowej.
}}
Jeżeli parametr artykułu podanego spisu {{Code|artykul_spisu}} {{LinkPatrz|artykul_spisu}} i nazwy spisu {{Code|nazwa_spisu}} {{LinkPatrz|nazwa_spisu}} istnieją, wtedy funkcja sygnalizuje zatrzymanie się algorytmu: {{LinkŚródtytuł|p.PobierzNumerLubNazweArtykulu}}, po przeanalizowaniu się jego od początku pierwszego spisu.
Jest tworzona pusta nowa zmienna tablicowa {{Code|tab_dane_ksiazki}} {{Patrz|tab_dane_ksiazki}}, a następnie jest tworzona jego pusta podtablica o kluczu {{Code|rozdzial}} {{LinkPatrz|rozdzial}}, co z tego jest tworzone {{Code|tab_rozdzial}} {{Patrz|tab_rozdzial}}.
Dalej jest tworzona zmienna {{Code|numer_rozdzialu}} {{Patrz|numer_rozdzialu}} ze zmiennej tablicowej {{Code|tab_numer}} {{LinkPatrz|tab_numer}} z łącznikiem kropka przy pomocy funkcji: {{LzLua|table.concat}}.
{{Tab}}Gdy {{LinkPatrz|nazwa_spisu}} i numer spisu {{Code|numer_spisu}} {{LinkPatrz|numer_spisu}} istnieją, a: {{Code|glowny_spis_tresci_lub_rozdzial_ksiazki}} {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}, już nie, lub gdy {{Code|glowny_spis_tresci_lub_rozdzial_ksiazki_poprz}} {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki_poprz}} (jest to poprzednie: {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}) i aktualne {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}, istnieją, i jednocześnie {{LinkPatrz|numer_rozdzialu}} jest łańcuchem znaków niepustym, wtedy liczymy:
Jeśli {{LinkPatrz|numer_spisu}} jest równy {{Code|1}}, czyli jest pierwszym spisem treści, i w podinstukcji {{Code|glowny_spis_tresci_lub_rozdzial_ksiazki}} {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}} nie istnieje, wtedy {{LinkPatrz|numer_rozdzialu}} jest zamieniane na tabelę: {{LinkŚródtytuł|p.ZamienNumerArtykuluNaTabele}}, co dalej w tym są usuwane początkowe jedynki na podstawie: {{LinkŚródtytuł|p.UsuwaniePierwszychJedynekZWyliczaniaSpisuTresci}}, co dalej to jest zamieniane na numerację rozdziału {{LinkPatrz|numer_rozdzialu}} z tym samym łącznikiem tą samą funkcją, co na samym początku tego rozważania przy tej zmiennej.
Przeciwnie niż w poprzednim akapicie jest liczony numer spisu treści z funkcji: {{LinkŚródtytuł|p["PobierzNumerArtykułu"]}}, co jest łączone z {{LinkPatrz|numer_rozdzialu}} w większy numer rozdziału dzięki: {{LinkŚródtytuł|p.IntegrowanieNumeracjiArtykuluZWyliczaniemSpisuTresci}}, a jeśli spis znajduje się w spisie jako artykuł, nie jako w głównym rozdziale, wtedy są usuwane początkowe jedynki według: {{LinkŚródtytuł|p.UsuwaniePierwszychJedynekZWyliczaniaSpisuTresci}}, co następie jest tworzone ostateczna wersja numeru rozdziału z tak otrzymanej tabeli w łańcuch znaków {{LinkPatrz|numer_rozdzialu}}.
{{Tab}}Jeśli nie jest ustawione, że rozdział dany w spisie, że nie jest pierwszy, czyli: {{Code|pierwszy_spis_tresci}} {{Patrz|pierwszy_spis_tresci}}, a nazwa spisu {{LinkPatrz|nazwa_spisu}} i numer spisu {{LinkPatrz|numer_spisu}}, istniją, a także: {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki_poprz}}, nie istnieje, a za to: {{LinkPatrz|glowny_spis_tresci_lub_rozdzial_ksiazki}}, istnieje, i {{LinkPatrz|numer_rozdzialu}} nie jest rozdziałem o ciągu pustym, a jeśli rozdział jest spisem treści, czy spisem rzeczy, wtedy jest ustawiana prawdziwość zmiennej {{LinkPatrz|pierwszy_spis_tresci}}, następnie dla {{LinkPatrz|numer_rozdzialu}} jest zamieniane na tabelę, dzięki: {{LinkŚródtytuł|p.ZamienNumerArtykuluNaTabele}}. Co dalej są usuwane początkowe jedynki na podstawie: {{LinkŚródtytuł|p.UsuwaniePierwszychJedynekZWyliczaniaSpisuTresci}}, co to później jest zamienane na łańcuch znaków w: {{LinkPatrz|numer_rozdzialu}}.
----
Z tego {{LinkPatrz|tab_rozdzial}} tworzymy podtablicę o kluczu {{LinkPatrz|numer_rozdzialu}}, jeśli nie istnieje, co z tego mamy {{Code|tab_numer_rozdzialu}} {{Patrz|tab_numer_rozdzialu}}, co dalej na podstawie tego dalej tworzymy podtablicę o kluczu {{Code|artykul}} {{LinkPatrz|artykul}}, jeżeli nie istnieje, co dzięki temu mamy: {{Code|tab_artykul}} {{Patrz|tab_artykul}}.
Tworzymy numer artykułu {{Code|numer_artykulu}} {{LinkPatrz|numer_artykulu}} z {{Code|tab_poziomowo}} {{LinkPatrz|tab_poziomowo}} z łącznikiem kropką, przy pomocy: {{LzLua|table.concat}}. Następnie tworzymy podtablicę z {{LinkPatrz|tab_artykul}} z klucza {{LinkPatrz|numer_artykulu}}, jeśli nie istnieje, tworząc: {{Code|tab_numer_artykulu}} {{LinkPatrz|tab_numer_artykulu}}.
----
Z tablicy {{LinkPatrz|tab_numer_artykulu}}, modyfikujemy tą podtablicę dodając do jego końca elementy na podstawie:
<syntaxhighlight lang="lua">
table.insert(tab_numer_artykulu,{["przekierowanie"]=czy_tabelka and przekierowanie[1] or ((not czy_tabelka) and przekierowanie or nil),["kod języka"]=czy_tabelka and przekierowanie[3] or nil,["kod projektu"]=czy_tabelka and przekierowanie[4] or nil,["pełna nazwa książki"]=(czy_tabelka and przekierowanie[2]) and nazwy_modul["NazwaModułu"](przekierowanie[2][1],przekierowanie[2][2],przekierowanie[2][3],"") or nil,["link"]=czy_tabelka and przekierowanie[5] or nil,["nazwa"]=nazwa,["spis treści"]=czy_nienilowy_rozdzial,["czy w podręczniku"]=(((artykul~="")or(numer_artykulu~="")) and ((czy_artykuly_podrecznikowe) and true or nil) or nil),["dodane"]=czy_dodane,["numer"]=s,["inna książka"]=czy_inna_ksiazka,["url"]=czy_url,});
</syntaxhighlight>
Na samym końcu, po dojściu do tego momentu funkcja zawsze zwraca wartość {{Code|false}}, czyli procedura: {{LinkŚródtytuł|p.PobierzNumerLubNazweArtykulu}}, na tej funkcji, czyli:{{LinkŚródtytuł|__FUNKCJA-PobierzDaneKsiążki}}, nie zatrzymuje się.
==== Dalsza część funkcji ====
Wywoływana jest tutaj funkcja: {{LinkŚródtytuł|__FUNKCJA-PobierzDaneKsiążki}}, która nie zwraca żadnych danych, tylko modyfikuje zmienną w wyższej funkcji. Funkcja zwraca tabelę '''JSON''' przy pomocy funkcji: {{LzLua|mw.text.jsonEncode}}, z ustawieniem: {{Code|mw.text.JSON_PRESERVE_KEYS}}, która numeruje indeksu w takiej formie jak jest użyte w języku {{lpg|Lua}} w {{Lpr|Lua|Scribunto}}, jeśli nie jest ustawiona zmienna: {{Code|kodowanie_nie_json}}, przeciwnie: jest zwracana ta tabela nie zamieniona na zmienną '''JSON'''.
Główna definicja funkcji:
<syntaxhighlight lang="lua">
---- Tą zmienną, tzn.: tab_dane_ksiazki, inicjuje funkcja lokalna: __FUNKCJA, by potem ją zwrócić jako tabelę Lua w Scribunto, albo jaką tabelę JSON, którą można użyć do przetwarzania w języku JavaScript;
local tab_dane_ksiazki=nil;
...
local stronicowyparser_numerlubnazwaartykulowksiazek_potrzebne_modul=require("Module:StronicowyParser/NumerLubNazwaArtykułówKsiążek/Potrzebne");
stronicowyparser_numerlubnazwaartykulowksiazek_potrzebne_modul.PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true);
---- Jeśli zapisujemy jako tabelę: JSON, to zapisujemy ją z zachowaniem dla parametrów numerowanych ich numerów, czyli takie tablice z nimi zapisjemy jako tabelę z kliczami, którymi są łańcuchu znakowe, a więc tworzymu ją jako tablice asocjacyjne;
return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki;
</syntaxhighlight>
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
e6qog6uuphlheg6suh8ob471ivj9ll4
Wikibooks:Moduły/StronicowyParser/NumerLubNazwaNagłówkówKsiążek
4
63516
560603
556652
2026-11-04T10:52:23Z
Persino
2851
560603
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/NumerLubNazwaNagłówkówKsiążek}}|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 zamieniania numeru nagłówka na podstawie nazwy nagłówka przy pomocy: {{s|PobierzNumerNagłówka}}, i odwrotnie dzięki: {{s|PobierzNazwęNagłówka}}.
== {{Śródtytuł|PobierzNumerLubNazweNaglowka}}{{Code|PobierzNumerLubNazweNaglowka}} ==
Funkcje pobierania numeru lub nazwy na podstawie tego przeciwnego. Czyli funkcje realizuje dwie funkcje zbierania danych na podstawie użytej funkcji: {{LinkPatrz|__FUNKCJA}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function PobierzNumerLubNazweNaglowka(frame,__FUNKCJA,typ)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} {{Patrz|frame}} | _1 = Tablica transportu funkcji tablicy transportu.
| 2 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _2 = Funkcja wynajdowania nazwy na podstawienumeru nagłówka lub odwrotnie.
| 3 = {{Code|typ}} {{Patrz|typ}} | _3 = Typ rozumienia pierwszego parametru pobierania numeru lub nazwy nagłówka na podstawie tego przeciwnego.
}}
{{OpisParametrów
| tytuł = Parametry tabeli transportu {{nobold|{{Code|frame}}}} funkcji {{nobold|{{ZobaczTeż|PobierzNumerLubNazweNaglowka}}}}:
| 1 = {{Code|poziomowo}} {{Patrz|poziomowo}} | _1 = Określa, czy numerki mają być wielopoziomowe.
| 2 = {{Code|nie wszystkie}} {{Patrz|nie wszystkie}} | _2 = Określa, że nie wszystkie nazwy nagłówków mają być rozważane.
| 3 = {{Code|który}} {{Patrz|który}} | _3 = Który ten sam nagłówek o takim samym numerze lub nazwie ma być rozważany.
}}
Funkcja rozróżnia rozdziały o nazwie: '''Spis treści''' lub '''SPIS RZECZY''', napisany dowolnymi literami, w ramach tego rozdziału rozdziały sąnumerowane od nowa. Funkcja może numerować rozdziały dodatnie numerkami od {{Code|1}} w wzwyż, lub wielopoziomowo, przy poocy numerków oddzielonych numerkami.
== {{Śródtytuł|p["PobierzNumerNagłówka"]}}{{Code|p["PobierzNumerNagłówka"]}} ==
Funkcja pobiera numer nagłówka na podstawie nazwy nagłówka o pewnym numerze jego. Funkcja przyjmuje te same parametry tablicy transportu, co w punkcie {{LinkZobaczTeż|PobierzNumerLubNazweNaglowka}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PobierzNumerNagłówka"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
== {{Śródtytuł|p["PobierzNazwęNagłówka"]}}{{Code|p["PobierzNazwęNagłówka"]}} ==
Funkcja pobiera nazwę nagłówka na podstawie numeru nagłówka o pewnym numerze jego. Funkcja przyjmuje te same parametry tablicy transportu, co w punkcie {{LinkZobaczTeż|PobierzNumerLubNazweNaglowka}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PobierzNazwęNagłówka"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Jak w: {{LinkPatrz|frame}}.
}}
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
t1dq12i07be24tcurh7gy7rakpa0re5
Wikibooks:Moduły/StronicowyParser/NumerObiektu
4
63517
560604
547640
2026-11-04T11:16:17Z
Persino
2851
560604
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/NumerObiektu}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Moduł służy do numeracji obiektów nazwanych i nienazwanych, ale numerowanych, także do ściągania nagłówków przy pomocy uchwytów, czyli według: {{s|LinkŚródtytuł}} i {{s|LinkŚródtytułTutaj}}, przy pomocy: {{s|Śródtytuł}}, a także do ustawiania i pobierania tekstu przy pomocy szablonów, czyli: {{s|Śródtekst}} i {{s|PobierzŚródtekst}}.
== {{Śródtytuł|p.NumerObiekt}}{{Code|p.NumerObiektu}} ==
Funkcje wskazywania na podstawie ich uchwytów pewnych przyporządkowych wartości.
=== {{Śródtytuł|Wzor}}{{Code|Wzor}} ===
Funkcja do wyświetlania wzorów matematycznych z ich numeracją, wykorzystywaną przez szablony jak: {{s|Wzór}} i {{s|Wzór2}}, {{s|CentrujWzór}} i {{s|CentrujWzór2}} oraz ich wersje z '''MathML''': {{s|MathMLWzór}} i {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local wzor = function(uchwyt,numeracja,styl_main,styl_odstepu,pole_odstepu,styl_wzoru,klasa_wzoru,wzor,opis,opis2,klasa_opisu,styl_opisu,styl_opisu_2,wzor_opisu,wzor_opisu_2,styl_alternatywy_opisu,styl_alternatywy_opisu_2,pozycja_numeracji,klasa_numeracji,styl_numeracji,bez_automatu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|uchwyt}} {{Patrz|uchwyt-Wzor}} | _1 = Uchwyt do ponumerowanych obiektów.
| 2 = {{Code|numeracja}} {{Patrz|numeracja-Wzor}} | _2 = Uchwyt zamieniony na numerację.
| 3 = {{Code|styl_main}} {{Patrz|styl_main-Wzor}} | _3 = '''styl główny''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''' głównej ramki wzoru.
| 4 = {{Code|styl_odstepu}} {{Patrz|styl_odstepu-Wzor}} | _4 = '''styl odstępu''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''' stylu odstępu przed wzorem przed następnym odstępem.
| 5 = {{Code|pole_odstepu}} {{Patrz|pole_odstepu-Wzor}} | _5 = '''pole odstępu''' zawartości pola odstępu.
| 6 = {{Code|styl_wzoru}} {{Patrz|styl_wzoru-Wzor}} | _6 = '''styl wzoru''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''' ramki ze wzorem w głównej ramce.
| 7 = {{Code|klasa_wzoru}} {{Patrz|klasa_wzoru-Wzor}} | _7 = '''klasa wzoru'''kaskadowych arkuszy stylów '''{{lpg|CSS}}''' ramki ze wzorem w głównej ramce.
| 8 = {{Code|wzor}} {{Patrz|wzor-Wzor}} | _8 = '''wzór''', czyli zawartość ze wzorem..
| 9 = {{Code|opis}} {{Patrz|opis-Wzor}} | _9 = '''opis''', czyli jaki format opisu za wzorem.
| 10 = {{Code|opis2}} {{Patrz|opis2-Wzor}} | _10 = '''opis 2''', czyli jaki format opisu przed wzorem.
| 11 = {{Code|klasa_opisu}} {{Patrz|klasa_opisu-Wzor}} | _11 = '''klasa opisu''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''' opisu.
| 12 = {{Code|styl_opisu}} {{Patrz|styl_opisu-Wzor}} | _12 = '''styl opisu''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''' opisu.
| 13 = {{Code|styl_opisu_2}} {{Patrz|styl_opisu_2-Wzor}} | _13 = '''styl opisu 2''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''' opisu.
| 14 = {{Code|wzor_opisu}} {{Patrz|wzor_opisu-Wzor}} | _14 = '''wzór opisu''', czyli opis za wzorem.
| 15 = {{Code|wzor_opisu_2}} {{Patrz|wzor_opisu_2-Wzor}} | _15 = '''wzór opisu 2''', czyli opis przed wzorem.
| 16 = {{Code|styl_alternatywy_opisu}} {{Patrz|styl_alternatywy_opisu-Wzor}} | _16 = '''styl alternatywy opisu''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''', gdy jest nieustawiony '''opis'''.
| 17 = {{Code|styl_alternatywy_opisu_2}} {{Patrz|styl_alternatywy_opisu_2-Wzor}} | _17 = '''styl alternatywy opisu 2''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''', gdy jest nieustawiony '''opis 2'''.
| 18 = {{Code|pozycja_numeracji}} {{Patrz|pozycja_numeracji-Wzor}} | _18 = '''pozycja numeracji''', czyli numeracja po prawej, czy po lewej.
| 19 = {{Code|klasa_numeracji}} {{Patrz|klasa_numeracji-Wzor}} | _19 = '''klasa numeracji''' kaskadowych arkuszy stylów '''{{lpg|CSS}}'''..
| 20 = {{Code|styl_numeracji}} {{Patrz|styl_numeracji-Wzor}} | _20 = '''styl numeracji''' kaskadowych arkuszy stylów '''{{lpg|CSS}}'''.
| 21 = {{Code|bez_automatu}} {{Patrz|bez_automatu-Wzor}} | _21 = '''bez automatu''', czyli czy uchwyt nie zamienić nanumerację, gdy niepusta.
}}
To pogrubione są to zmienne widoczne pod zmienną: {{Code|frame.args}}.
==== {{Śródtytuł|uchwyt_fun}}{{Code|uchwyt_fun}} ====
Funkcja wsadzadzająca do obiektu '''divramka''' ponumerowanego uchwytu {{LinkPatrz|uchwyt-Wzor}}, czyli: {{LinkPatrz|numeracja-Wzor}}, jeśli da się go ponumerować, a jak nie, to z treścią o niedopasowaniu z samym uchwytem lub samego uchwytu, gdy jest ustawiony parametr: {{LinkPatrz|bez automatu-Wzor}}. Funkcja umieszcza to w ramce: {{Tag|div}}, w specjalnej oprawiawie definiowanej przez klasy i style '''{{lpg|CSS}}'''.
==== {{Śródtytuł|pole_odstepu_fun}}{{Code|pole_odstepu_fun}} ====
Pole odstępu na samym początku wzoru z ustawionym stylem '''{{lpg|CSS}}''', tzn.: {{LinkPatrz|styl_odstepu-Wzor}}, i polem odstępu: {{LinkPatrz|pole_odstepu-Wzor}}.
==== {{Śródtytuł|opis_fun}}{{Code|opis_fun}} ====
Funkcja wsadzająca opis do struktury '''HTML''' wzoru, jeśli istnieje, wraz z klasami i stylem '''{{lpg|CSS}}''', a jeżeli brak jest jego, to pole ze stylem alternatywnym.
==== Dalsza część funkcji ====
Funkcja ustawia odpowiednio '''id''' uchwyt {{LinkPatrz|uchwyt-Wzor}} zamieniony na jego numerację: {{LinkPatrz|numeracja-Wzor}}, a jeśli taki nie istnieje, to informacja o niedopasowaniu wraz z uchwytem. W nim, tzn. w tym znaczniku, są ustawiane style, jeśli istnieją, {{LinkPatrz|styl_main-Wzor}}.
Gdy nie jest ustawiona niepusta {{LinkPatrz|pozycja_numeracji-Wzor}}, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|uchwyt_fun}}, przeciwnie: {{LinkŚródtytuł|pole_odstepu_fun}}.
Tworzony jest opis przy pomocy: {{LinkŚródtytuł|opis_fun}}, dotyczące tego z numerkiem {{Code|_2}}.
Do struktury '''HTML''' jest wstawiany inny {{Tag|div}} z ustawioną klasą {{LinkPatrz|klasa_wzoru-Wzor}} i stylem {{LinkPatrz|styl_wzoru-Wzor}} '''{{lpg|CSS}}''' ze wstawionym wzorem {{LinkPatrz|wzor-Wzor}}.
Tworzony jest inny opis, niż poprzednio, przy pomocy: {{LinkŚródtytuł|opis_fun}}, bez żadnego numerka.
Jeśli jest ustawiona niepusta {{LinkPatrz|pozycja_numeracji-Wzor}}, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|uchwyt_fun}}, przeciwnie: {{LinkŚródtytuł|pole_odstepu_fun}}.
Funkcja zwraca całą strukturę '''HTML''' dotyczacą danego ponumerowanego, ewentualnie opisanego wzoru.
=== {{Śródtytuł|rysunek}}{{Code|rysunek}} ===
Funkcja wykorzystywana przez szablon: {{s|Rysunek}}, do którego można linkować przez: {{s|LinkRysunek}}. Funkcja wykorzystuje podobne mechanizmy, co szablon: {{s|Plik}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local rysunek=function(uchwyt,numeracja,opis, rysunek, pozycja,rozmiar,klasa,styl,bez_automatu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|uchwyt}} {{Patrz|uchwyt-Rusunek}} | _1 = Uchwyt rysunku.
| 2 = {{Code|numeracja}} {{Patrz|numeracja-Rysunek}} | _2 = Numeracja przyporządkowana uchwytowi.
| 3 = {{Code|opis}} {{Patrz|opis-Rysunek}} | _3 = '''opis''' rysunku, pod rysunkiem, w ramce wraz z rysunkiem.
| 4 = {{Code|rysunek}} {{Patrz|rysunek-Rysunek}} | _4 = '''rysunek''', czyli strona pliku rysunku.
| 5 = {{Code|pozycja}} {{Patrz|pozycja-Rysunek}} | _5 = '''pozycja''' rysunku, tzn. {{Code|prawo}}, {{Code|lewo}} i {{Code|centruj}}.
| 6 = {{Code|rozmiar}} {{Patrz|rozmiar-Rysunek}} | _6 = '''rozmiar''' rysunku.
| 7 = {{Code|klasa}} {{Patrz|klasa-Rysunek}} | _7 = '''klasa''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''' przyporządkowana rysunkowi.
| 8 = {{Code|styl}} {{Patrz|styl-Rysunek}} | _8 = '''styl''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''' ustawiana na rysunku.
| 9 = {{Code|bez_automatu}} {{Patrz|bez_automatu-Rysunek}} | _9 = '''bez_automatu''', wtedy uchwyt nie jest tłumaczony na numerację, tylko numeracja jest traktowana jako uchwyt.
}}
To pogrubione są to zmienne widoczne pod zmienną: {{Code|frame.args}}.
Funkcja liczy '''id''' rysunku, który jest uchwytem z przedrostkiem, a to pierwsze jest zamienione na numerację, jeżeli nie jest niepuste {{LinkPatrz|bez_automatu-Rysunek}}. Do rysunku można linkować.
Funkcja wywołuje funkcję: {{Code|{{sr|#p.Plik|p=Plik}}}}, z modułu: {{Code|{{ld2|Plik}}}}, by wyświetlić rysunek wraz z opisiem z numeracją z przedrostkiem w nawiasach okrągłych.
Funkcja zwraca strukturę '''HTML''' danego rysunku.
=== {{Śródtytuł|wypowiedzenie}}{{Code|wypowiedzenie}} ===
Szablon generujący ramkę szablonu matematycznego w sposób ogólny: {{s|Wypowiedzenie}}, lub szczególny jak: {{s|Twierdzenie}}, do których można linkować kolejno w sposób ogólnie: {{s|LinkObiekt}}, lub dla drugiego szczególnego jak: {{s|LinkTwierdzenie}}. Szablony matematyczne są skategoryzowane w: {{lk2|Szablony stronicowe matematyczne wypowiedzeń zwykłe}}, a do nich linki: {{lk2|Szablony stronicowe matematyczne wypowiedzeń linkowe}}.
Definicja skrótwa funkcji:
<syntaxhighlight lang="lua">
local wypowiedzenie = function(uchwyt,przedrostek,numeracja,klasa,styl,przedrostek2,rodzaj,kogo,czego,jakie,styl_naglowka,styl_tekstu,tekst,bez_automatu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|uchwyt}} {{Patrz|uchwyt-Wypowiedzenie}} | _1 = Uchwyt do wypowiedzenia zamieniany nanumerację,
| 2 = {{Code|przedrostek}} {{Patrz|przedrostek-Wypowiedzenie}} | _2 = '''przedrostek id''' identyfikatora '''id''' wypowiedzenia,
| 3 = {{Code|numeracja}} {{Patrz|numeracja-Wypowiedzenie}} | _3 = Numeracja powstała z numerowanego uchwytu,
| 4 = {{Code|klasa}} {{Patrz|klasa-Wypowiedzenie}} | _4 = '''klasa''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''',
| 5 = {{Code|styl}} {{Patrz|styl-Wypowiedzenie}} | _5 = '''styl''' kaskadowych arkuszy stylów '''{{lpg|CSS}}''',
| 6 = {{Code|przedrostek2}} {{Patrz|przedrostek2-Wypowiedzenie}} | _6 = '''przedrostek numeracji''' przed numeracją wypowiedzenia,
| 7 = {{Code|rodzaj}} {{Patrz|rodzaj-Wypowiedzenie}} | _7 = '''rodzaj''' w nazwie nagłówka zawartości,
| 8 = {{Code|kogo}} {{Patrz|kogo-Wypowiedzenie}} | _8 = '''kogo''' w nazwie nagłówka zawartości,
| 9 = {{Code|czego}} {{Patrz|czego-Wypowiedzenie}} | _9 = '''czego''' w nazwie nagłówka zawartości,
| 10 = {{Code|jakie}} {{Patrz|jakie-Wypowiedzenie}} | _10 = '''jakie''' w nazwie nagłówka zawartości,
| 11 = {{Code|styl_naglowka}} {{Patrz|styl_naglowka-Wypowiedzenie}} | _11 = '''styl nagłówka''' nazwy nagłówka zawartości,
| 12 = {{Code|styl_tekstu}} {{Patrz|styl_tekstu-Wypowiedzenie}} | _12 = '''styl tekstu''' nazwy nagłówka zawartości,
| 13 = {{Code|tekst}} {{Patrz|tekst-Wypowiedzenie}} | _13 = '''tekst''' zawartości wypowiedzenia,
| 14 = {{Code|bez_automatu}} {{Patrz|bez_automatu-Wypowiedzenie}} | _14 = '''bez automatu''' jeśli niepuste, wtedy zamiast numeracji wyświetla się uchwyt, nawet w identyfikatorze '''id'''.
}}
To pogrubione są to zmienne widoczne pod zmienną: {{Code|frame.args}}.
Funkcja ustawia przedrostek {{LinkPatrz|przedrostek-Wypowiedzenie}} przed numeracja w '''id''' w głównej ramce wypowiedzenia, ona ma ustawiną klasę {{LinkPatrz|klasa-Wypowiedzenie}} i styl {{LinkPatrz|styl-Wypowiedzenie}},kaskadowych arkuszy stylów '''{{lpg|CSS}}'''. Przed numeracją w wypowiedzeniu jest ustawiany przedrostek {{LinkPatrz|przedrostek2-Wypowiedzenie}}, przed numeracją i jego przedrostkiem w nawiasie jest wstawiany tekst kolejno z: {{LinkPatrz|rodzaj-Wypowiedzenie}}, {{LinkPatrz|kogo-Wypowiedzenie}}, {{LinkPatrz|czego-Wypowiedzenie}} i {{LinkPatrz|jakie-Wypowiedzenie}}, w której jest ustawiany styl {{LinkPatrz|styl_naglowka-Wypowiedzenie}}. Zawartość pod nagłówkiem jest to tekst {{LinkPatrz|tekst-Wypowiedzenie}}.
=== {{Śródtytuł|punkty}}{{Code|punkty}} ===
Funkcja do wyświetlania szablonów punktów, tzn.: {{s|Patrz}} i {{s|ZobaczTeż}}, do których są wyświetlane linki kolejno: {{s|LinkPatrz}} i {{s|LinkZobaczTeż}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local punkty = function(uchwyt,numeracja,przedrostek_id,klasa,styl,prefiks,bez_automatu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|uchwyt}} {{Patrz|uchwyt-punkty}} | _1 = Uchwyt punktu.
| 2 = {{Code|numeracja}} {{Patrz|numeracja-punkty}} | _2 = Numeracja zamieniona z uchwytu.
| 3 = {{Code|przedrostek_id}} {{Patrz|przedrostek_id-punkty}} | _3 = '''przedrostek id''' w identyfikatorze '''id'''.
| 4 = {{Code|klasa}} {{Patrz|klasa-punkty}} | _4 = '''klasa''' kaskadowych arkuszy stylów '''{{lpg|CSS}}'''.
| 5 = {{Code|styl}} {{Patrz|styl-punkty}} | _5 = '''styl''' kaskadowych arkuszy stylów '''{{lpg|CSS}}'''.
| 6 = {{Code|prefiks}} {{Patrz|prefiks-punkty}} | _6 = '''prefiks''' przed numeracją.
| 7 = {{Code|bez_automatu}} {{Patrz|bez_automatu-punkty}} | _7 = '''bez automatu''', gdy uchwyt nie jest zamieniany na numerację, zamiast numeracji jest wyświetlany uchwyt.
}}
To pogrubione są to zmienne widoczne pod zmienną: {{Code|frame.args}}.
Styl {{LinkPatrz|klasa-punkty}} i {{LinkPatrz|styl-punkty}}, kaskadowych arkuszy stylów '''{{lpg|CSS}}''' z przedrostkiem {{LinkPatrz|przedrostek_id-punkty}} w identyfikatorze '''id''' z numeracją {{LinkPatrz|numeracja-punkty}}, znacznika {{Tag|sup}} z zawartością ze numeracją {{LinkPatrz|numeracja-punkty}} z prefiksem {{LinkPatrz|prefiks-punkty}}.
=== {{Śródtytuł|nazwa_strony_fun}}{{Code|nazwa_strony_fun}} ===
Funkcja wskazywania nazwy strony, jeśli nazwa strony jest bieżąca to wraca wartość pustą, a jeśli nie, to zwraca tą nazwę w postaci z zakodowanymi znakami '''HTML''', bez kodowania kodów '''HTML'''.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local nazwa_strony_fun=function(nazwa_strony)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametry funkcji:
| 1 = {{Code|nazwa_strony}} {{Patrz|nazwa_strony}} | _1 = Nazwa strony.
}}
=== {{Śródtytuł|BladTablicyTransportu}}{{Code|BladTablicyTransportu}} ===
Funkcja zwraca błąd, gdy tablica transportu jest nieprawidłowa, tzn. jest nietabelowa, z jego główną podtablicą, tym błędem jest: {{Code|{{Nowiki|Błąd stronicowego parsera: '''Moduł:StronicowyParser'''. Tablica silnika transportu lub jego składowe przyjmują wartość nietabelkową.}}}}.
=== {{Śródtytuł|BezNumeracjiZUchwytami}}{{Code|BezNumeracjiZUchwytami}} ===
Funkcja zwraca uchwyt zamiast numeracji, gdy parametr szablonu jest użyty z niepustą wartością parametru {{Code|bez automatu}} lub gdy tablica transportu z jego główną tablicą ma wartość nietabelową.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
local function BezNumeracjiZUchwytami()...end;
</syntaxhighlight>
Parametry fukcji:
* Brak.
=== {{Śródtytuł|UchwytObiektu}}{{Code|UchwytObiektu}} ===
Funkcja zwraca uchwyt obiektu, nawet gdy to jest uchwyt obiektu {{s|Śródtytuł}} wskazywanym przez {{s|LinkŚródtytuł}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local UchwytObiektu=function(uchwyt_obiektu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry funkcji:
| 1 = {{Code|uchwyt_obiektu}} {{Patrz|uchwyt_obiektu}} | _1 = Uchwyt obiektu, lub tablica, której pierwszym elementem jest uchwyt, w przypadku szablonów '''tytułów'''.
}}
=== Dalsza część funkcji ===
Funkcja liczy główną tablicę danego artykulu, niezależnie, czy tą tablicą jest artykuł bieżący, bieżącej książki, innej w tej samej przestrzeni nazw książki, czy innej, a nawet w tej samej przestrzeni nazw, a nawet innej. Funkcja w przypadku błędu tablicy transportu lub podania parametru '''bez automatu''', zwraca obiekt z numeracją, której jest uchwyt, a nie jego numeracja. Możliwe obiektu to są: {{Code|link}}, {{Code|wzór}}, {{Code|rysunek}}, {{Code|wypowiedzenie}}, {{Code|punkt}} i {{Code|tekst}}.
Fubkcja liczy tabelę danego artykułu z jego uchwytami i zwraca tabelę z kodem linków inteligentnych, której kody znajdują się na stronie {{s|Link wewnętrzny}}.
Funkcja liczy numerację na podstawie ich uchwytów, nawet gdy to jest uchwyt szablonów '''tytułów''', i je umieszcza w penych obiektach, możliwe obiektu to są podane powyżej, jeżeli nie dopasowano uchwytu, lub uchwyt jest nieprawidłowy, np. w obiektach, nie linkach, się powtarza, wtedy funkcja zwraca obiekty,w których zamiast numeracji są uchwyty.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
2b2iz3066ebfxiz8iaucwg5se17oc62
Wikibooks:Moduły/StronicowyParser/NumeracjaObiektówStron
4
63518
560605
547887
2026-11-04T11:40:11Z
Persino
2851
560605
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/NumeracjaObiektówStron}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Funkcja odpowiednio ustawia dane, jaka jest numeracja, jeśli w ogóle istnieje, danego typu obiektu, sprawdza, czy uchwyt obiektu się powtarza, przy numeracji uwzględniany jest numer artykułu. Funkcje w module: {{Code|{{ld2|StronicowyParser/NumeracjaObiektówStron}}}}, jest uzupełnieniem modułu: {{Code|{{ld2|StronicowyParser/ZbieranieDanychStron}}}}, co jest powiedziane w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
== {{Śródtytuł|p.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony}}{{Code|p.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony}} ==
Funkcja stworzona do przetwarzania poszczególnych uchwytów i uzupełniania poszczególnych uchwytów ich numeracjami, a także jeżeli coś jest nie tak, to ustawiania pewnych kodów za pomocą funkcji problemów na podstawie korzystania z: {{Code|{{ld2|StronicowyParser/Problemy}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|self}} {{Patrz|self}} | _1 = Tablica obiektowa modułu jego tablicy transportu.
| 2 = {{Code|tablica_zmiennych}} {{Patrz|tablica_zmiennych}} | _2 = Tablica zmiennych analizowania strony z szablonami.
| 3 = {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} | _3 = Nazwa przestrzeni nazw, nazwa przestrzeni książki, nazwa książki i nazwa artykułu.
}}
Jest generowana tablica modułowa z: {{Code|{{ld2|StronicowyParser/obiekty}}}}, o nazwie: {{Code|stronicowyparser_obiekty_modul}} {{Patrz|stronicowyparser_obiekty_modul}}.
Dla pętli względem: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}} i {{LinkPatrz|nazwa_ksiazki}}, jest tworzona tablica artykułów za pomocą pętli ostatniej z której uzyskujemy tablicę, z której liczymy podtablicę o kluczu {{Code|spis}} {{Patrz|spis}}. A jeżeli ta tablica, chodzi tru artykułów stworzona z tego ostatniego, jest niepusta, wtedy jest ustawiana zmienna o nazwie: {{Code|czy_da_sie_numerowac_obiekty_ze_spisem_tresci}} {{Patrz|czy_da_sie_numerowac_obiekty_ze_spisem_tresci}}, o wartości {{Code|true}}.
=== {{Śródtytuł|Problemy_z_doloczonymi_uchywtami}}{{Code|Problemy_z_doloczonymi_uchywtami}} ===
Funkcja przy pomocy funkcji: {{Code|{{sr|#p.DodawanieProblemowegoElementuDoTablicy|p=StronicowyParser/Problemy}}}}, dodawany jest nowy problem o kodzie: {{Code|błędy uchwytów dołączonych stron}} {{Patrz|błędy uchwytów dołączonych stron}}, dla obiektu {{LinkPatrz|nazwa_obiektu}}.
=== Dalsza część funkcji ===
Dla danego artykułu dla istniejącego: {{LinkPatrz|czy_da_sie_numerowac_obiekty_ze_spisem_tresci}}, i nazwy artykułu o nazwie niepustym danego analizowanego w danej analizowanej książce, wtedy jest uruchamiana funkcja: {{LinkŚródtytuł|p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony}}, z numerem artykułu książki: {{Code|numer_obiektu_w_ksiazce}} {{Patrz|numer_obiektu_w_ksiazce}}, przeciwnie też uruchamia się ta funkcja, ale ta zmienna wtedy przyjmuje wartość {{Code|0}}.
Dla tablicy modułowej: {{LinkPatrz|stronicowyparser_obiekty_modul}}, dla jej podtablicy o kluczu: {{Code|tablica_obiektowych_form}} {{Patrz|tablica_obiektowych_form}}, dla każdego obiektu jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieReferencji}}.
== {{Śródtytuł|p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony}}{{Code|p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony}} ==
Funkcja sprawdzania wszystkich form obiektowych i numerowania uchwytych w poszczególnych nich.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzetwarzanieWszystkichSzablonowychElementowychFormParsowanejStrony(self, dane_artykulu,biezacy_artykul,numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}.
| 2 = {{Code|dane_artykulu}} {{Patrz|dane_artykulu}} | _2 = Zmienna z danymi danego artykułu.
| 3 = {{Code|biezacy_artykul}} {{Patrz|biezacy_artykul}} | _3 = Czy dany artykułjest korzystany, czyli bieżący.
| 4 = {{Code|numer_artykulu_w_ksiazce}} {{Patrz|numer_artykulu_w_ksiazce}} | _4 = Numer danego artykułu danej książki.
| 5 = {{Code|stronicowyparser_obiekty_modul}} {{LinkPatrz|stronicowyparser_obiekty_modul}} | _5 = Zmienna modułowa do modułu {{Code|{{ld2|StronicowyParser/obiekty}}}}.
| 6 = {{Code|__Funkcja}} {{Patrz|__Funkcja}} | _6 = funkcja robiąca zamiast instrukcji, dla bieżącym artykułu, dla artykułu niebeżącego.
}}
Dla każdej formy obiektowej tablicy {{LinkPatrz|stronicowyparser_obiekty_modul}} dla klucza: {{Code|tablica_obiektowych_form}} {{LinkPatrz|tablica_obiektowych_form}}, jest uruchamiana funkcja: {{LinkŚródtytuł|p.SprawdzanieOrazNumerowanieElementowychFormStrony}}.
== {{Śródtytuł|p.SprawdzanieReferencji}}{{Code|p.SprawdzanieReferencji}} ==
Funkcja sprawdza, czy linki w bieżącym artykule do aktualnego artykułu są ponumerowane, a jeśli nie, wtedy są ustawiane pewne kody.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieReferencji(self,tablica_zmiennych,link_obiekt_lub_wypowiedzenie, nazwa_obiektu1, nazwa_obiektu2, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu,stronicowyparser_obiekty_modul,CzyNum)...end;
</syntaxhighlight>
{{OpisParametrów
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}.
| 2 = {{Code|tablica_zmiennych}} | _2 = Jak w: {{LinkPatrz|tablica_zmiennych}}.
| 3 = {{Code|link_obiekt_lub_wypowiedzenie}} {{Patrz|link_obiekt_lub_wypowiedzenie}} | _3 = Tablica z elementami, też tablicami, dotyczące danych poszczególnych linków, w bieżącym artykule, właściwie z ich uchwytami.
| 4 = {{Code|nazwa_obiektu1}} {{Patrz|nazwa_obiektu1}} | _4 = Nazwa obiektu, nie linku.
| 5 = {{Code|nazwa_obiektu2}} {{Patrz|nazwa_obiektu2}} | _5 = Nazwa obiektu szablonu linku, chociaż dla danego obiektu link, czy szablonu pobierania, może być reprezentowany przez wiele szablonów.
| 6 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} | _6 = Kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
}}
Jeżeli taki dany link nie jest jednak ponumerowany, wtedy jest ustawiana zmienna {{Code|czy_uchwyty_nie_sa_ponumerowane}} {{Patrz|czy_uchwyty_nie_sa_ponumerowane}} na wartość {{Code|true}}.
{{Tab}}Jeśli ona nie może mieć odpowiedniego numeru, wtedy sprawdzane jest, czy uchwyt składa się z samych znaków odstępu, wtedy jest sprawdzane nieistnienie, czy tak jest przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, dla kodu: {{Code|puste parametry szablonów stronicowych linkujących}} {{Patrz|puste parametry szablonów stronicowych linkujących}}, dla obiektu {{LinkPatrz|nazwa_obiektu1}}, z trzecim parametrem {{Code|1}}, a jeśli to jest spełnione, to przy pomocy funkcji: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, jest ustawiany ten kod.
{{Tab}}Przeciwnie, to przy pomocy tych samych funkcji jest sprawdzane nieistnienie, i potem ustawianie kodu: {{Code|błędy uchwytów korzystanych stron}} {{Patrz|błędy uchwytów korzystanych stron}}.
== {{Śródtytuł|p.SprawdzanieOrazNumerowanieElementowychFormStrony}}{{Code|p.SprawdzanieOrazNumerowanieElementowychFormStrony}} ==
Funkcja służy do numerowania niepowtarzających się uchwytów w pewne dwuskładnikowe numerki oddzielone kropką.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SprawdzanieOrazNumerowanieElementowychFormStrony(self, dane_artykulu, biezacy_artykul, nazwa_obiektu, numer_artykulu_w_ksiazce,stronicowyparser_obiekty_modul,__Funkcja)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|self}} | _1 = Jak w: {{LinkPatrz|self}}.
| 2 = {{Code|dane_artykulu}} | _2 = Jak w: {{LinkPatrz|dane_artykulu}}.
| 3 = {{Code|nazwa_obiektu}} {{Patrz|nazwa_obiektu}} | _3 = Nazwa obiektu.
| 4 = {{Code|biezacy_artykul}} | _4 = Jak w: {{LinkPatrz|biezacy_artykul}}.
| 5 = {{Code|numer_artykulu_w_ksiazce}} | _5 = Jak w: {{LinkPatrz|numer_artykulu_w_ksiazce}}.
| 6 = {{Code|stronicowyparser_obiekty_modul}} | _6 = Jak w: {{LinkPatrz|stronicowyparser_obiekty_modul}}.
| 7 = {{Code|__Funkcja}} | _7 = Jak w: {{LinkPatrz|__Funkcja}}.
}}
Jeśli podtablica z {{LinkPatrz|dane_artykulu}} o kluczu: {{Code|uchwyty_i_numeracje}}, nie istnieje, wtedy funkcja jest zatrzymywana, przeciwnie jest ona liczona w zmiennej z innym kluczej {{LinkPatrz|nazwa_obiektu}}, co z niego jest tworzona {{Code|tabela_obiektu}}, a jeśli ona nie istnieje, wtedyona jest zatrzymywana.
Są liczone zmienne: {{Code|CzyLink}} {{Patrz|CzyLink}} i {{Code|CzyNum}} {{Patrz|CzyNum}}, którego klucze są też o tych samych nazwach, ale z tablicy {{LinkPatrz|biezacy_artykul}}.
Funkcja sprawdza, czy uchwyt się powtarza, a jeśli jednak tak się dzieje, to dla bieżącej strony {{LinkPatrz|biezacy_artykul}}, wtedy dla nieistniejącego kodu, który sprawdzamy, czy jest taki przy pomocy funkcji: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, dla kodu: {{Code|błędy uchwytów korzystanych stron}} {{LinkPatrz|błędy uchwytów korzystanych stron}}, na danego {{LinkPatrz|nazwa_obiektu}}, jest ustawiany ten kod przy pomocy: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, a dla niebieżącej uruchamiana jest funkcja: {{LinkPatrz|__Funkcja}}.
Sprawdzane jest w pętli, które obiekty ma numerować, dla nich jest wykonywana ich numeracja o formacie: {{Code|numer_artykulu_w_ksiazce.."."..licznik}}, czyli numer książki i numer danego obiektu są oddzielone kropką, ale numer książki musi być nierówny zero, przeciwnie, gdy nie ma takiego numeru książki, czy nie ma spisu treści, czyli wtedy ten numer jest równy zero, wtedy numer obiektu jest wtedy tylko w formacie {{Code|licznik}}.
A jeżeli coś jest nie tak w numeracji, wtedy jest sprawdzane, czy funkcja: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, dla kodu {{Code|błąd wewnętrzny modułu lua stronicowego parsera}} {{Patrz|błąd wewnętrzny modułu lua stronicowego parsera}}, nie istnieje, a jeśli tak, wtedy przy pomocy: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, jest ustawiany ten kod.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
du2c8pp09izgo28g7z1tvrldquz6sqi
Niemiecki/Ortografia/Reformy
0
63537
560592
560524
2026-11-04T09:33:26Z
EdytaT
2664
/* Dwuznak ph */
560592
wikitext
text/x-wiki
{{Rozdział|[[Niemiecki|Język niemiecki]]|[[Niemiecki/Ortografia|Ortografia]]<br>Reformy pisowni niemieckiej<br>(''Deutsche Rechtsschreibreformen'')}}
== Zmiany 2017 ==
=== Wprowadzenie dużej litery Eszett (''ẞ'') ===
* Nowością było oficjalne włączenie dużej litery Eszett do alfabetu. Obecnie można ją stosować jako ''ẞ'' obok ''SS'' w przypadku wielkich liter, co ma znaczenie dla nazwisk w paszportach.
=== Wycofanie niektórych zmian z roku 1996 ===
* Na skutek braku akceptacji Rada ds. ortografii niemieckiej cofnęła zmiany pisowni niektórych słów na poprzednią, np.:
:* '''Ketschup''' z powrotem na ''Ketchup''
== Reforma 1996 ==
* Reforma ortograficzna z roku 1996 oficjalnie weszła w życie po okresie przejściowym 1 sierpnia 1998 r.
=== Głoski ''s'' (''ss/ß'') ===
* Litera „ß” została zastąpiona przez „ss” po krótkiej samogłosce, np.:
:* ''Flu'''ß''''' → ''Flu'''ss'''''
:* Ponieważ litera ß w Szwajcarii i Liechtensteinie już wcześniej nie występowała, zmiana tej reguły nie miała w tych krajach znaczenia.
=== Pisownia rozdzielna i łączna ===
* Czasowniki złożone z rzeczownika i czasownika pisze się zazwyczaj rozdzielnie, np.:
:* ''eislaufen'' → ''Eis laufen'', ''nottun'' → ''not tun''
:* Konstrukcje bezokolicznikowe z ''zu'' można pisać zarówno rozdzielnie, jak i łącznie.
=== Potrójne spółgłoski ===
* W wyrazach złożonych potrójna spółgłoska pozostaje teraz zachowana, np.:
:* ''Schiffahrt'' → ''Schifffahrt'' (= ''Schiff'' + ''Fahrt'')
=== ''h'' nieme (wydłużające) ===
* W niektórych wyrazach usunięto nieme h, np.:
:* ''rauh'' → ''rau''
:* W przypadku ''Känguru'' zmiana ta miała również na celu dostosowanie pisowni do podobnych słów, takich jak ''Emu'', ''Gnu'' czy ''Kakadu''.
=== Dwuznak ''ph'' ===
* Digraf ''ph'' w pochodzących z języka greckiego częściach słów '''''-phon-''''', '''''-phot-''''' i '''''-graph-''''' jest coraz częściej zastępowany literą ''f'' w powszechnie używanych słowach (zob. <ref name=DFremd/>)
:* ''Saxofon'' (obok starszej formy ''Saxophon''), ''Fotosynthese'' (obok starszej formy ''Photosynthese''), ''Geografie'' (obok starszej formy ''Geographie'') usw.
:* '''Uwaga''': jedynie dla słowa ''Graph'' jako pojęcia z zakresu matematyki i językoznawstwa pisownią zalecaną nadal pozostaje wersja z ''ph'', aby łatwiej było odróżnić to znaczenie od ''Graf'' w znaczeniu tytułu szlacheckiego.
=== Słowa zapożyczone ===
* Pisownię niektórych wyrazów uproszczano i dostosowano do niemieckich zasad ortograficznych
{{Przypisy
|<ref name=DFremd>Duden online, ''Sprachwissen (Sprachratgeber)'', [https://www.duden.de/sprachwissen/sprachratgeber/Angleichung-von-Fremdw%C3%B6rtern-an-die-heimischen-Schreibungen ''Angleichung von Fremdwörtern an die heimischen Schreibungen''], dostęp 10.01.2026.</ref>
}}
pgdbanihwd6bbhvzextc7hsobjnrcdj
Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom II
4
63917
560593
560401
2026-11-04T09:41:10Z
Persino
2851
560593
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.CzyElementSpisuRzeczy}}{{Code|p.CzyElementSpisuRzeczy}} ==
Funkcja sprawdza, czy wywołanie szablonowe, obiekty typu: {{Code|SZABLON}}, linkują do artykułu w książce, lub obiekt: {{Code|LINKW}}, też musi być linkiem do artykułu (podstrony) tego podręcznika, wtedy: {{Code|numer_rodzaju_artykulu}} {{Code|{{=}}}} {{Code|1}}. Też może być, że dla tych samych typów obiektów, plus typ: {{Code|LINKZ}}, też jest sprawdzane, czy to jest w ogóle link, wtedy mamy: {{Code|numer_rodzaju_artykulu}} {{Code|<nowiki>></nowiki>}} {{Code|1}}, lub to nie jest link, wtedy ta wartość wskazuje na {{Code|nil}}.
Ona robi to, analizuje to, przy pomocy funkcji: {{LinkPatrz|p.AnalizujLinkSzablonyOrazLinki|StronicowyParser/AnalizaSpisuRzeczy}}, która sprawdza, czy to jest link, i zwraca jego pewne parametry.
Funkcja dla podstrony książki, też sprawdza, czy ten tam artykuł nie jest artykułem okładką, czy artykułem niedozwolonym, to jest robione i sprawdzane tablicą {{Code|{{sr|#p.artykularne_niespisowe|p=StronicowyParser/obiekty}}}}, którego określenie:
{{Tbl|uchwyt=p.artykularne_niespisowe|tekst=
<syntaxhighlight lang="lua">
p.artykularne_niespisowe={
[1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$",
--[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$",
};
</syntaxhighlight>}}
Funkcja traktuje stronę, która jest podstroną podręcznika, za podręcznik, jeżeli jest spełnione {{Code|czy_podrecznik}} {{Patrz|czy_podrecznik}}:
<syntaxhighlight lang="lua">
local czy_podrecznik=((mw.ustring.match(artykul,"^%u"))and((not mw.ustring.match(artykul,"%l%u"))or(mw.ustring.match(artykul,"%s"))));
</syntaxhighlight>
Artykuł książki powinien zaczynać się od dużej litery oraz nie powinien mieć po małej literze dużą lub w sobie powinien mieć dowolne dozwolone, przez '''mechanizm {{NS|l=tak|k=mw|w=tak}}''', znaki odstępu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci)
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji {{nobold|{{ZobaczTeż|parametry funkcji spisu artykularnego}}}}:
| 1 = Parametry z sekcji, są to elementy:|nagłówek1=tak
| 2 = Parametry złożone {{LinkZobaczTeż|Parametry złożone|StronicowyParser/AnalizaSpisuRzeczy}}. | _2 = Złożone z rodzaju kodu i jego numeru.
| 3 = Parametry kodowania {{LinkZobaczTeż|Parametry kodowania|StronicowyParser/AnalizaSpisuRzeczy}}. | _3 = Kodowania kodów różnych obiektów.
| 4 = Parametry z sekcji przeróżnych zmiennych, np. tabel, charakteryzujących tekst zakodowany: | nagłówek4=tak
| 5 = Parametry zakodowanego spisu {{LinkZobaczTeż|Parametry zakodowanego spisu|StronicowyParser/AnalizaSpisuRzeczy}}. | _5 = Parametry zakodowanego spisu.
| 6 = Inne parametry: | nagłówek6 = tak
| 7 = {{Code|czy_usun_okladka}} {{Patrz|czy_usun_okladka}} | _7 = Uważaj artykuły wszystkie, nawet okładki i inne tego typu, jako spisowe, traktuj ją jako artykuł spisowy.
| 8 = {{Code|czy_glowny_spis_tresci}} {{Patrz|czy_glowny_spis_tresci}} | _8 = Uważaj artykuł główny podręcznika za dozwoloną stronę jego główną, w przeciwnie jest traktowany jako artykuł spisowy, przy ustawionej zmiennej: {{LinkPatrz|czy_usun_okladka}}, na wartość prawdziwą, ale przy innej wartości logicznej tego parametru, taki artykuł zostaje uznany za niedozwolony.
}}
Funkcja zwraca, zrzucane przez tę funkcję, dane w postaci {{ZobaczTeż|parametry zwracane spisu artykularnego}}:
<syntaxhighlight lang="lua">
return czy_artykul_nieglowny,numer_rodzaju_artykulu,czy_podrecznik,czy_artykuly_niespisowe;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Wytłumaczenie parametrów zwracanych {{nobold|{{ZobaczTeż|opis parametrów spisu artykularnego}}}}:
| 1 = {{Code|czy_artykul_nieglowny}} {{Patrz|czy_artykul_nieglowny}} | _1 = Czy artykuł niegłówny.
| 2 = {{Code|numer_rodzaju_artykulu}} {{Patrz|numer_rodzaju_artykulu}} | _2 = Poziom artykułu w podręczniku, zwracany, jako drugi parametr funkcji: {{LinkPatrz|p.AnalizujLinkSzablonyOrazLinki|StronicowyParser/AnalizaSpisuRzeczy}}, parsujących szablony i linki wewnętrzne, z artykułami, i wyciagający z nich wioski, i zaliczający je do pewnych kategorii.
{{p|Możliwe wartości dla bieżącej wiki, to są: w przestrzeniach książkowych: {{Code|1}} - artykuły danej książki, {{Code|2}} - poza daną książką, i {{Code|3}} - strony w innych przestrzeniach niż książkowa, a dla niebieżącej wiki: {{Code|4}} - strony w przestrzeniach książkowych, i {{Code|5}} - poza nią, oraz linki zewnętrzne: {{Code|6}} - linki typu: {{Code|LINKZ}}.}}
| 3 = {{Code|czy_podrecznik}} | _3 = Jak w: {{LinkPatrz|czy_podrecznik}}, czyli czy to jest prawdziwy artykuł podręcznika, a nie udawany.
| 4 = {{Code|czy_artykuly_niedozwolone}} {{Patrz|czy_artykuly_niedozwolone}} | _4 = czy artykuł uznać w linku za niedozwolony dla {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}} {{Code|{{=}}}} {{Code|1}}, artykuły o innej wartości o tej zmiennej poziomu są odrazu uznane za dozwolone.
}}
Funkcja oznacza artykuły (strony) - linki, danej książki określane zmienną: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, równe: {{Code|1}}, i nie tylko, tzn. dla: {{Code|<nowiki>> 1</nowiki>}}, gdy to nie są jej podstrony, lub dla wartości {{Code|nil}}, gdy dany obiekt to nie jest link.
Gdy strona nie jest linkiem, wtedy funkcja zrzucza wartości: {{Code|return nil,false;}}.
A dla tego pierwszego, dzięki tej zmiennej: {{Code|czy_podrecznik}} {{LinkPatrz|czy_podrecznik}}, funkcja oznacza artykuły za możliwie podręcznikowe, jeśli ona przyjmuje wartość prawdziwą, jeśli nie, to one są możliwie niepodręcznikowe, dla obiektów: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}} {{Code|{{=}}}} {{Code|1}}, dla innych jej wartości, oznacza się linki jako za niepodręcznikowe.
== {{Śródtytuł|p.CzySpecjalnyElementSpisuRzeczy}}{{Code|p.CzySpecjalnyElementSpisuRzeczy}} ==
Funkcja ma ten sam opis, co: {{LinkŚródtytuł|p.CzyElementSpisuRzeczy}}, są te same znaczenia parametrów przyjmowanych i zwracanych przez funkcję. Funkcja rozważa artykuły znajdujące się w definicji szablonu {{s|SpisTreści}} {{Patrz|SpisTreści}}, które są na pewno artykułami książki, bo taka jest definicja tego szablonu.
We pozostałych przypadkach funkcja sprawdza szablony, a w nich linki, zdefiniowane przez tabelę {{Code|{{sr|#p.inne_linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}}:
{{Tbl|uchwyt=p.inne_linki_szablony_elementy_spisu_rzeczy|tekst=
<syntaxhighlight lang="lua">
p.inne_linki_szablony_elementy_spisu_rzeczy={
["SpisPozycja"]={true,numer_link="tyt",},
["SpisZw"]={false,numer=1,link=2,},
};
</syntaxhighlight>}}
Ta tablica przedstawia klucze i ich wartości charakteryzujące spisowe linki, w przypadku tego pierwszego, czyli {{s|SpisPozycja}}, parametrem szukanym z linkami jest: {{Parametr|numer_link|tyt}}, a w tym drugim, czyli: {{s|SpisZw}}, jest: {{Parametr|link|2}}.
Wartości tych parametrów w tabeli parametrów szablonów o tych nazwach parametrów (kluczy) przedstawiają dowolny tekst, a w tym możliwie znajdujące się linki szablonów inteligetnych według obiektu: {{Code|SZABLON}}, jak i linki wewnętrzne: {{Code|LINKW}}, jako normalne, jak i również zewnętrzne: {{Code|LINKZ}}. A tam szukamy linków, określonych w tej wypowiedzi, znajdujemy, jeśli są, pierwszego takiego linku, jak znajdziemy, to z wyniku funkcji: {{LinkŚródtytuł|p.CzyElementSpisuRzeczy}}, zrzucamy wynik do funkcji w nagłówku, którego pierwszy argument ma wartość prawdziwą, i zakańczamy natychmiast tą funkcję.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzySpecjalnyElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Są te same parametry, co dla: {{LinkZobaczTeż|parametry funkcji spisu artykularnego}}.| komórka1 = tak
}}
{{OpisParametrów
| tytuł = Funkcja zwraca, zrzucane przez tę funkcję, dane parametry w postaci:
| 1 = Są te same parametry zwracane, co dla: {{LinkZobaczTeż|parametry zwracane spisu artykularnego}}. | komórka1 = tak
}}
Dla szablonu {{s|SpisTreści}}, funkcja zrzuca zmienne, które da się jeszcze wytłumaczyć według {{LinkZobaczTeż|opis parametrów spisu artykularnego}}, co do dwóch pierwszych parametrów:
<syntaxhighlight lang="lua">
return true,1;
</syntaxhighlight>
Dla pozostałych obsługiwanych szablonów przez tę funkcję, parametrami zwracanymi przez nią, są we wskazaniu wartości zwracane przez funkcję użytą przez procedurę używaną w jego definicji, jest to funkcja wspomniana w opisie:
<syntaxhighlight lang="lua">
return czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka;
</syntaxhighlight>
Wytłumaczenie parametrów zwracanych przez nią:
* To samo wytłumaczenie, co dla: {{LinkZobaczTeż|opis parametrów spisu artykularnego}}.
== {{Śródtytuł|p.CzyGeneralnieElementSpisuRzeczy}}{{Code|p.CzyGeneralnieElementSpisuRzeczy}} ==
Funkcja ma ten sam opis, co: {{LinkŚródtytuł|p.CzyElementSpisuRzeczy}} - ta funkcja zostanie uruchomiona w pierwszej kolejności, lub: {{LinkŚródtytuł|p.CzySpecjalnyElementSpisuRzeczy}} - jeżeli ta poprzednia funkcja nie zrzuci treściwych wyników, to zostanie wywołana ta druga, jaka z nich funkcja zostanie uruchomiona ze zwróconymi jej parametrami zależy od rodzaju wywołania szablonowego. W tej funkcji są te same znaczenia parametrów przyjmowanych i zwracanych przez funkcję, co wspomnianych dwóch.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Są te same parametry, co dla: {{LinkZobaczTeż|parametry funkcji spisu artykularnego}}.|komórka1=tak
}}
{{OpisParametrów
| tytuł = Funkcja zwraca, zrzucane przez tę funkcję, dane parametry w postaci:
| 1 = Są te same wartości zwracane, co dla: {{LinkZobaczTeż|parametry zwracane spisu artykularnego}}. | komórka1 = tak
}}
Zwracane parametry przez funkcję:
<syntaxhighlight lang="lua">
return czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka;
</syntaxhighlight>
Wytłumaczenie parametrów zwracanych:
{{OpisParametrów
| 1 = To samo wytłumaczenie, co dla: {{LinkZobaczTeż|opis parametrów spisu artykularnego}}. | komórka1=tak
}}
== {{Śródtytuł|p.CzyTamElementyNieSpisoweArtykularne}}{{Code|p.CzyTamElementyNieSpisoweArtykularne}} ==
Funkcja szuka pierwszego spisowego artykularnego dozwolonego, czyli nieokładkowego (dozwolonego), niegłównego w podręczniku, artykułu w linii {{LinkPatrz|linia|StronicowyParser/AnalizaSpisuRzeczy}}.
Funkcja wyszukuje takie artykuły funkcją: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy}}, w wyniku iterowania po podanym parametrze zakodowanym przy pomocy funkcji z: {{Code|{{m|Szablonowe}}}}.
Gdy funkcja znalazła taki artykuł, ale nie artykuł główny, ale nie okładkę, lub dozwolony artykuł, to zwraca {{Code|true}}, jak ona nie znalazła żadnego takiego artykułu, ale znalazła okładkę, bądź artykuł główny, to zwraca {{Code|false}}, a w przypadku tylko elementów niespisowych funkcja zwraca zawsze wartość {{Code|true}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyTamElementyNieSpisoweArtykularne(linia,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Są te same parametry, co dla: {{LinkZobaczTeż|parametry funkcji spisu artykularnego}}.|komórka1=tak
| 2 = Zamiast pierwszych trzech parametrów, tzn.: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}, {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}} i {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}, jest: {{Code|linia}} {{LinkPatrz|linia|StronicowyParser/AnalizaSpisuRzeczy}} - jest to pojedyncza linia pomiędzy znakami nowych linii, elementami początku lub końca tekstu.|komórka2=tak
| 3 = Ona nie ma w sobie, w swojej definicji, końcowych parametrów, tzn. {{Code|czy_usun_okladka}} {{LinkPatrz|czy_usun_okladka}} i {{Code|czy_glowny_spis_tresci}} {{LinkPatrz|czy_glowny_spis_tresci}}.|komórka3=tak
}}
== {{Śródtytuł|p.SzukajObiektuArtykularnegoWeElemencieTekstowym}}{{Code|p.SzukajObiektuArtykularnegoWeElemencieTekstowym}} ==
Funkcja szuka, czy są linki szablonowe: {{Code|SZABLON}} - z tego, tylko linki szablonowe, linki wewnętrzne: {{Code|LINW}}, i linki zewnętrzne: {{Code|LINKZ}}, w podanym zakodowanym tekście, przeszukiwanym przez funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, a sprawdzanym, czy to jest to, przez inną: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy}}, jeżeli według tej funkcji, to jest link, ale nie do okładki, danego podręcznika, to funkcja w nagłówku zwraca wartość prawdziwą, a jeżeli nie ma takiego linku, lub dane się skończyły, to funkcja wtedy nic nie zwraca, tylko się zakańcza.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzukajObiektuArtykularnegoWeElemencieTekstowym(tekst,szablon_normy_kodowania_szablonu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych, czy_usun_okladka,czy_glowny_spis_tresci,czy_wszystkie_linki,z_innymi_stronami)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Są te same parametry, co dla: {{LinkZobaczTeż|parametry funkcji spisu artykularnego}}: | komórka1=tak
| 2 = Zamiast pierwszych trzech parametrów, tzn.: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}, {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}} i {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}, jest: {{Code|tekst}} {{Patrz|tekst}} | _2 = To jest przeszukiwany tekst.
| 3 = Ma w sobie drugi parametr, który jest wzorem, {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, kodu przeszukiwanego tekstu, czyli jest to wzor: {{Code|szablon_normy_kodowania_szablonu}} {{Patrz|szablon_normy_kodowania_szablonu}}.|komórka3=tak
| 4 = {{Code|czy_wszystkie_linki}} | _4 = Czy ma wszystkie linki uwzględniać, do wartości zwracanej przez tą funkcję {{Code|true}}.
| 5 = {{Code|z_innymi_stronami}} | _5 = Czy uwzględniać inne strony będących nieartykułami danej książki, lub linkami '''{{lpg|HTML}}'''.
}}
{{OpisParametrów
| tytuł = Wartość zwracana:
| 1 = Wartość prawdziwa: {{Code|true}}, w przypadku wykrycia takiego linki, w przeciwnym wypadku: {{Code|false}}, w przypadku niepowodzenia.| nagłówek1=tak
}}
Funkcja bezpośrednio szuka w tekście zakodowanym różnych typów linków, tzn. one muszą być w kodzie tekstu: {{Code|tekst}} {{LinkPatrz|tekst}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mmw9zy3l1aty4i7cmtwmanjzajakic9
560594
560593
2026-11-04T09:42:06Z
Persino
2851
/* {{Śródtytuł|p.CzyGeneralnieElementSpisuRzeczy}}{{Code|p.CzyGeneralnieElementSpisuRzeczy}} */
560594
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.CzyElementSpisuRzeczy}}{{Code|p.CzyElementSpisuRzeczy}} ==
Funkcja sprawdza, czy wywołanie szablonowe, obiekty typu: {{Code|SZABLON}}, linkują do artykułu w książce, lub obiekt: {{Code|LINKW}}, też musi być linkiem do artykułu (podstrony) tego podręcznika, wtedy: {{Code|numer_rodzaju_artykulu}} {{Code|{{=}}}} {{Code|1}}. Też może być, że dla tych samych typów obiektów, plus typ: {{Code|LINKZ}}, też jest sprawdzane, czy to jest w ogóle link, wtedy mamy: {{Code|numer_rodzaju_artykulu}} {{Code|<nowiki>></nowiki>}} {{Code|1}}, lub to nie jest link, wtedy ta wartość wskazuje na {{Code|nil}}.
Ona robi to, analizuje to, przy pomocy funkcji: {{LinkPatrz|p.AnalizujLinkSzablonyOrazLinki|StronicowyParser/AnalizaSpisuRzeczy}}, która sprawdza, czy to jest link, i zwraca jego pewne parametry.
Funkcja dla podstrony książki, też sprawdza, czy ten tam artykuł nie jest artykułem okładką, czy artykułem niedozwolonym, to jest robione i sprawdzane tablicą {{Code|{{sr|#p.artykularne_niespisowe|p=StronicowyParser/obiekty}}}}, którego określenie:
{{Tbl|uchwyt=p.artykularne_niespisowe|tekst=
<syntaxhighlight lang="lua">
p.artykularne_niespisowe={
[1]="^[Oo][Kk][ŁłLl][Aa][Dd][Kk][Aa]$",
--[2]="^[Ww][Ss][Tt][ĘęEe][Pp]$",
};
</syntaxhighlight>}}
Funkcja traktuje stronę, która jest podstroną podręcznika, za podręcznik, jeżeli jest spełnione {{Code|czy_podrecznik}} {{Patrz|czy_podrecznik}}:
<syntaxhighlight lang="lua">
local czy_podrecznik=((mw.ustring.match(artykul,"^%u"))and((not mw.ustring.match(artykul,"%l%u"))or(mw.ustring.match(artykul,"%s"))));
</syntaxhighlight>
Artykuł książki powinien zaczynać się od dużej litery oraz nie powinien mieć po małej literze dużą lub w sobie powinien mieć dowolne dozwolone, przez '''mechanizm {{NS|l=tak|k=mw|w=tak}}''', znaki odstępu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci)
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji {{nobold|{{ZobaczTeż|parametry funkcji spisu artykularnego}}}}:
| 1 = Parametry z sekcji, są to elementy:|nagłówek1=tak
| 2 = Parametry złożone {{LinkZobaczTeż|Parametry złożone|StronicowyParser/AnalizaSpisuRzeczy}}. | _2 = Złożone z rodzaju kodu i jego numeru.
| 3 = Parametry kodowania {{LinkZobaczTeż|Parametry kodowania|StronicowyParser/AnalizaSpisuRzeczy}}. | _3 = Kodowania kodów różnych obiektów.
| 4 = Parametry z sekcji przeróżnych zmiennych, np. tabel, charakteryzujących tekst zakodowany: | nagłówek4=tak
| 5 = Parametry zakodowanego spisu {{LinkZobaczTeż|Parametry zakodowanego spisu|StronicowyParser/AnalizaSpisuRzeczy}}. | _5 = Parametry zakodowanego spisu.
| 6 = Inne parametry: | nagłówek6 = tak
| 7 = {{Code|czy_usun_okladka}} {{Patrz|czy_usun_okladka}} | _7 = Uważaj artykuły wszystkie, nawet okładki i inne tego typu, jako spisowe, traktuj ją jako artykuł spisowy.
| 8 = {{Code|czy_glowny_spis_tresci}} {{Patrz|czy_glowny_spis_tresci}} | _8 = Uważaj artykuł główny podręcznika za dozwoloną stronę jego główną, w przeciwnie jest traktowany jako artykuł spisowy, przy ustawionej zmiennej: {{LinkPatrz|czy_usun_okladka}}, na wartość prawdziwą, ale przy innej wartości logicznej tego parametru, taki artykuł zostaje uznany za niedozwolony.
}}
Funkcja zwraca, zrzucane przez tę funkcję, dane w postaci {{ZobaczTeż|parametry zwracane spisu artykularnego}}:
<syntaxhighlight lang="lua">
return czy_artykul_nieglowny,numer_rodzaju_artykulu,czy_podrecznik,czy_artykuly_niespisowe;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Wytłumaczenie parametrów zwracanych {{nobold|{{ZobaczTeż|opis parametrów spisu artykularnego}}}}:
| 1 = {{Code|czy_artykul_nieglowny}} {{Patrz|czy_artykul_nieglowny}} | _1 = Czy artykuł niegłówny.
| 2 = {{Code|numer_rodzaju_artykulu}} {{Patrz|numer_rodzaju_artykulu}} | _2 = Poziom artykułu w podręczniku, zwracany, jako drugi parametr funkcji: {{LinkPatrz|p.AnalizujLinkSzablonyOrazLinki|StronicowyParser/AnalizaSpisuRzeczy}}, parsujących szablony i linki wewnętrzne, z artykułami, i wyciagający z nich wioski, i zaliczający je do pewnych kategorii.
{{p|Możliwe wartości dla bieżącej wiki, to są: w przestrzeniach książkowych: {{Code|1}} - artykuły danej książki, {{Code|2}} - poza daną książką, i {{Code|3}} - strony w innych przestrzeniach niż książkowa, a dla niebieżącej wiki: {{Code|4}} - strony w przestrzeniach książkowych, i {{Code|5}} - poza nią, oraz linki zewnętrzne: {{Code|6}} - linki typu: {{Code|LINKZ}}.}}
| 3 = {{Code|czy_podrecznik}} | _3 = Jak w: {{LinkPatrz|czy_podrecznik}}, czyli czy to jest prawdziwy artykuł podręcznika, a nie udawany.
| 4 = {{Code|czy_artykuly_niedozwolone}} {{Patrz|czy_artykuly_niedozwolone}} | _4 = czy artykuł uznać w linku za niedozwolony dla {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}} {{Code|{{=}}}} {{Code|1}}, artykuły o innej wartości o tej zmiennej poziomu są odrazu uznane za dozwolone.
}}
Funkcja oznacza artykuły (strony) - linki, danej książki określane zmienną: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, równe: {{Code|1}}, i nie tylko, tzn. dla: {{Code|<nowiki>> 1</nowiki>}}, gdy to nie są jej podstrony, lub dla wartości {{Code|nil}}, gdy dany obiekt to nie jest link.
Gdy strona nie jest linkiem, wtedy funkcja zrzucza wartości: {{Code|return nil,false;}}.
A dla tego pierwszego, dzięki tej zmiennej: {{Code|czy_podrecznik}} {{LinkPatrz|czy_podrecznik}}, funkcja oznacza artykuły za możliwie podręcznikowe, jeśli ona przyjmuje wartość prawdziwą, jeśli nie, to one są możliwie niepodręcznikowe, dla obiektów: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}} {{Code|{{=}}}} {{Code|1}}, dla innych jej wartości, oznacza się linki jako za niepodręcznikowe.
== {{Śródtytuł|p.CzySpecjalnyElementSpisuRzeczy}}{{Code|p.CzySpecjalnyElementSpisuRzeczy}} ==
Funkcja ma ten sam opis, co: {{LinkŚródtytuł|p.CzyElementSpisuRzeczy}}, są te same znaczenia parametrów przyjmowanych i zwracanych przez funkcję. Funkcja rozważa artykuły znajdujące się w definicji szablonu {{s|SpisTreści}} {{Patrz|SpisTreści}}, które są na pewno artykułami książki, bo taka jest definicja tego szablonu.
We pozostałych przypadkach funkcja sprawdza szablony, a w nich linki, zdefiniowane przez tabelę {{Code|{{sr|#p.inne_linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}}:
{{Tbl|uchwyt=p.inne_linki_szablony_elementy_spisu_rzeczy|tekst=
<syntaxhighlight lang="lua">
p.inne_linki_szablony_elementy_spisu_rzeczy={
["SpisPozycja"]={true,numer_link="tyt",},
["SpisZw"]={false,numer=1,link=2,},
};
</syntaxhighlight>}}
Ta tablica przedstawia klucze i ich wartości charakteryzujące spisowe linki, w przypadku tego pierwszego, czyli {{s|SpisPozycja}}, parametrem szukanym z linkami jest: {{Parametr|numer_link|tyt}}, a w tym drugim, czyli: {{s|SpisZw}}, jest: {{Parametr|link|2}}.
Wartości tych parametrów w tabeli parametrów szablonów o tych nazwach parametrów (kluczy) przedstawiają dowolny tekst, a w tym możliwie znajdujące się linki szablonów inteligetnych według obiektu: {{Code|SZABLON}}, jak i linki wewnętrzne: {{Code|LINKW}}, jako normalne, jak i również zewnętrzne: {{Code|LINKZ}}. A tam szukamy linków, określonych w tej wypowiedzi, znajdujemy, jeśli są, pierwszego takiego linku, jak znajdziemy, to z wyniku funkcji: {{LinkŚródtytuł|p.CzyElementSpisuRzeczy}}, zrzucamy wynik do funkcji w nagłówku, którego pierwszy argument ma wartość prawdziwą, i zakańczamy natychmiast tą funkcję.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzySpecjalnyElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Są te same parametry, co dla: {{LinkZobaczTeż|parametry funkcji spisu artykularnego}}.| komórka1 = tak
}}
{{OpisParametrów
| tytuł = Funkcja zwraca, zrzucane przez tę funkcję, dane parametry w postaci:
| 1 = Są te same parametry zwracane, co dla: {{LinkZobaczTeż|parametry zwracane spisu artykularnego}}. | komórka1 = tak
}}
Dla szablonu {{s|SpisTreści}}, funkcja zrzuca zmienne, które da się jeszcze wytłumaczyć według {{LinkZobaczTeż|opis parametrów spisu artykularnego}}, co do dwóch pierwszych parametrów:
<syntaxhighlight lang="lua">
return true,1;
</syntaxhighlight>
Dla pozostałych obsługiwanych szablonów przez tę funkcję, parametrami zwracanymi przez nią, są we wskazaniu wartości zwracane przez funkcję użytą przez procedurę używaną w jego definicji, jest to funkcja wspomniana w opisie:
<syntaxhighlight lang="lua">
return czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka;
</syntaxhighlight>
Wytłumaczenie parametrów zwracanych przez nią:
* To samo wytłumaczenie, co dla: {{LinkZobaczTeż|opis parametrów spisu artykularnego}}.
== {{Śródtytuł|p.CzyGeneralnieElementSpisuRzeczy}}{{Code|p.CzyGeneralnieElementSpisuRzeczy}} ==
Funkcja ma ten sam opis, co: {{LinkŚródtytuł|p.CzyElementSpisuRzeczy}} - ta funkcja zostanie uruchomiona w pierwszej kolejności, lub: {{LinkŚródtytuł|p.CzySpecjalnyElementSpisuRzeczy}} - jeżeli ta poprzednia funkcja nie zrzuci treściwych wyników, to zostanie wywołana ta druga, jaka z nich funkcja zostanie uruchomiona ze zwróconymi jej parametrami zależy od rodzaju wywołania szablonowego. W tej funkcji są te same znaczenia parametrów przyjmowanych i zwracanych przez funkcję, co wspomnianych dwóch.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyGeneralnieElementSpisuRzeczy(szablon,obiekt,kod,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_usun_okladka,czy_glowny_spis_tresci)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Są te same parametry, co dla: {{LinkZobaczTeż|parametry funkcji spisu artykularnego}}.|komórka1=tak
}}
{{OpisParametrów
| tytuł = Funkcja zwraca, zrzucane przez tę funkcję, dane parametry w postaci:
| 1 = Są te same wartości zwracane, co dla: {{LinkZobaczTeż|parametry zwracane spisu artykularnego}}. | komórka1 = tak
}}
Zwracane parametry przez funkcję:
<syntaxhighlight lang="lua">
return czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Wytłumaczenie parametrów zwracanych:
| 1 = To samo wytłumaczenie, co dla: {{LinkZobaczTeż|opis parametrów spisu artykularnego}}. | komórka1=tak
}}
== {{Śródtytuł|p.CzyTamElementyNieSpisoweArtykularne}}{{Code|p.CzyTamElementyNieSpisoweArtykularne}} ==
Funkcja szuka pierwszego spisowego artykularnego dozwolonego, czyli nieokładkowego (dozwolonego), niegłównego w podręczniku, artykułu w linii {{LinkPatrz|linia|StronicowyParser/AnalizaSpisuRzeczy}}.
Funkcja wyszukuje takie artykuły funkcją: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy}}, w wyniku iterowania po podanym parametrze zakodowanym przy pomocy funkcji z: {{Code|{{m|Szablonowe}}}}.
Gdy funkcja znalazła taki artykuł, ale nie artykuł główny, ale nie okładkę, lub dozwolony artykuł, to zwraca {{Code|true}}, jak ona nie znalazła żadnego takiego artykułu, ale znalazła okładkę, bądź artykuł główny, to zwraca {{Code|false}}, a w przypadku tylko elementów niespisowych funkcja zwraca zawsze wartość {{Code|true}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyTamElementyNieSpisoweArtykularne(linia,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Są te same parametry, co dla: {{LinkZobaczTeż|parametry funkcji spisu artykularnego}}.|komórka1=tak
| 2 = Zamiast pierwszych trzech parametrów, tzn.: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}, {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}} i {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}, jest: {{Code|linia}} {{LinkPatrz|linia|StronicowyParser/AnalizaSpisuRzeczy}} - jest to pojedyncza linia pomiędzy znakami nowych linii, elementami początku lub końca tekstu.|komórka2=tak
| 3 = Ona nie ma w sobie, w swojej definicji, końcowych parametrów, tzn. {{Code|czy_usun_okladka}} {{LinkPatrz|czy_usun_okladka}} i {{Code|czy_glowny_spis_tresci}} {{LinkPatrz|czy_glowny_spis_tresci}}.|komórka3=tak
}}
== {{Śródtytuł|p.SzukajObiektuArtykularnegoWeElemencieTekstowym}}{{Code|p.SzukajObiektuArtykularnegoWeElemencieTekstowym}} ==
Funkcja szuka, czy są linki szablonowe: {{Code|SZABLON}} - z tego, tylko linki szablonowe, linki wewnętrzne: {{Code|LINW}}, i linki zewnętrzne: {{Code|LINKZ}}, w podanym zakodowanym tekście, przeszukiwanym przez funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, a sprawdzanym, czy to jest to, przez inną: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy}}, jeżeli według tej funkcji, to jest link, ale nie do okładki, danego podręcznika, to funkcja w nagłówku zwraca wartość prawdziwą, a jeżeli nie ma takiego linku, lub dane się skończyły, to funkcja wtedy nic nie zwraca, tylko się zakańcza.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzukajObiektuArtykularnegoWeElemencieTekstowym(tekst,szablon_normy_kodowania_szablonu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych, czy_usun_okladka,czy_glowny_spis_tresci,czy_wszystkie_linki,z_innymi_stronami)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Są te same parametry, co dla: {{LinkZobaczTeż|parametry funkcji spisu artykularnego}}: | komórka1=tak
| 2 = Zamiast pierwszych trzech parametrów, tzn.: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}, {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}} i {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}, jest: {{Code|tekst}} {{Patrz|tekst}} | _2 = To jest przeszukiwany tekst.
| 3 = Ma w sobie drugi parametr, który jest wzorem, {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, kodu przeszukiwanego tekstu, czyli jest to wzor: {{Code|szablon_normy_kodowania_szablonu}} {{Patrz|szablon_normy_kodowania_szablonu}}.|komórka3=tak
| 4 = {{Code|czy_wszystkie_linki}} | _4 = Czy ma wszystkie linki uwzględniać, do wartości zwracanej przez tą funkcję {{Code|true}}.
| 5 = {{Code|z_innymi_stronami}} | _5 = Czy uwzględniać inne strony będących nieartykułami danej książki, lub linkami '''{{lpg|HTML}}'''.
}}
{{OpisParametrów
| tytuł = Wartość zwracana:
| 1 = Wartość prawdziwa: {{Code|true}}, w przypadku wykrycia takiego linki, w przeciwnym wypadku: {{Code|false}}, w przypadku niepowodzenia.| nagłówek1=tak
}}
Funkcja bezpośrednio szuka w tekście zakodowanym różnych typów linków, tzn. one muszą być w kodzie tekstu: {{Code|tekst}} {{LinkPatrz|tekst}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
qyxao0ivcka9ynl149b3r9v4yyafo92
Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom I
4
63918
560591
558935
2026-11-04T09:30:38Z
Persino
2851
560591
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.SzukanieNaPodstawieWzoru}}{{Code|p.SzukanieNaPodstawieWzoru}} ==
Funkcja do przeszukiwania ciągu: {{Code|tekst}} {{LinkPatrz|tekst}}, od znaku: {{Code|liczba_od}} {{LinkPatrz|liczba_od}}, do: {{Code|liczba_do}} {{LinkPatrz|liczba_do}}, według wzoru {{Code|wzor}} {{LinkPatrz|wzor}}.
Funkcja umożliwa ustawienie trybu znajdowania ciągów: {{Code|jak}} {{LinkPatrz|jak}}, który przyjmuje wartości logiczne lub wartość nilową albo tej wartości można nie podawać, bo ostatni parametr. Można przeszukiwać ciąg tekstowy od tyłu przy wartości odpowiadającej prawdziwej, czyli parametr: {{Code|czy_od_tylu}} {{LinkPatrz|czy_od_tylu}}, przy przeciwnej wartości ono przeszukuje podciąg od natomiast do przodu.
Funkcja zwraca dwie pierwsze liczby oznaczające początek i koniec dopasowania według wzoru: {{Code|wzor}} {{LinkPatrz|wzor}}, i co najwyżej dziewięć dalszych elementów przychwytywanych przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzukanieNaPodstawieWzoru(tekst,wzor,liczba_od,liczba_do,czy_od_tylu,jak)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji {{nobold|{{ZobaczTeż|Parametry-SzukanieNaPodstawieWzoru}}}}:
| 1 = {{Code|tekst}} {{Patrz|tekst}} | _1 = Tekst do przeszukania według wzoru.
| 2 = {{Code|wzor}} {{Patrz|wzor}} | _2 = Wzor do przeszukiwania tekstu.
| 3 = Zmienne oznaczające numer znaku, w tekście {{LinkPatrz|tekst}}:|nagłówek3=tak
| 4 = {{Code|liczba_od}} {{Patrz|liczba_od}} | _4 = Od którego ma być przeszukiwany ciąg.
| 5 = {{Code|liczba_do}} {{Patrz|liczba_do}} | _5 = Do którego ma być przeszukiwany ciąg.
| 6 = Pozostałe zmienne: | nagłówek6=tak
| 7 = {{Code|czy_od_tylu}} {{Patrz|czy_od_tylu}} | _7 = Czy przeszukiwanie ma się odbyć od tyłu, gdy to przyjmuje odpowiadającej prawdziwości, to wyszukiwanie ciągu tekstowego: {{Code|tekst}} {{LinkPatrz|tekst}}, ma się mieścić najbliżej odstatniego znaku: {{Code|liczba_do}} {{LinkPatrz|liczba_do}}, a jeśli przyjmuje on wartość przeciwną, to najbliżej początku: {{Code|liczba_od}} {{LinkPatrz|liczba_od}}, ale musi mieścić się we wskazanym przedziale, bo przeciwnie funkcja zrzuca wartość nilową, jeśli wyszukany ciąg nie składa się z jednego znaku, a jeśli tak, to wyszukiwanie odbywa się znak po znaku, ale też w tym zakresie, ale też musi być to spełnione, jak dla wwielu znaku.
| 8 = {{Code|jak}} {{Patrz|jak}} | _8 = Gdy to odpowiada prawdziwości, to wyszukiwanie, co najmniej ma się odbywać znak po znaku, gdy posiada przeciwną wartość, to dla wyszukiwanych tekstów niejednoznakowych, następne wyszukanie jest od ostatniego znaku poprzedniego wyszukania, a gdy jest jednoznakowy, to od następnego.
}}
Jest to ogólna funkcja do znajdowania podciągów znaków, używa funkcji: {{LzLua|mw.ustring.find}} (zwracająca wartości, tzn. początek i koniec dopasowania, dalej wartości przechwytywane, lub {{Code|nil}}, według podanego wzoru).
Przypadku wyszukiwania od przodu musi zachodzi wniosek: {{Code|liczba_od}} {{LinkPatrz|liczba_od}} {{Code|≤}} {{Code|liczba_do}} {{LinkPatrz|liczba_do}}, a od tyłu: {{Code|liczba_od}} {{LinkPatrz|liczba_od}} {{Code|≥}} {{Code|liczba_do}} {{LinkPatrz|liczba_do}}, w innych przypadkach, gdyby ten warunek nie był spełniony, to ta funkcja zwraca wartość nilową.
Dopasowanie do przodu, nie jest uruchamiane w żadnej petli, jeżeli to dopasowanie nie znalazło się w dozwolonych granicach dopasowania, to funkcja zwraca wartość {{Code|nil}}, w przypadku przeciwnym to ona zrzuca wartości przez nią zwrócone, tzn. przez funkcję używaną.
W przypadku wyszukiwania od tyłu funkcja znajduje najbliższe dopasowanie najbliższe znaku o numerze: {{Code|liczba_do}} {{LinkPatrz|liczba_do}}, czyli równe ostatniemu takiemu dopasowaniu. To dopasowania jest uruchamiane w pętli nieskończonej, która jest przerywana, gdy funkcja nie znalazła zadnego dalszego znaku, lub uzyskano dopasowanie, którego numer znaku końcowego ciągu w podciągu, jest większy niż {{Code|liczba_do}} {{LinkPatrz|liczba_do}}. Funkcja zwraca ostatnie dopasowanie, to znaczy wartości zwrócone przez funkcję korzystaną, spełniającą nasz przedział, jeżeli byłaby taka, a jeśli nie znalazła takiego, to ona zwraca wynik {{Code|nil}}.
== {{Śródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii}}{{Code|p.SzukanieNaPodstawieWzoruElementuLinii}} ==
Ta funkcja robi dokładnie to samo, co: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru}} {{Patrz|p.SzukanieNaPodstawieWzoru}}, która dotyczy przeszukiwanego tekstu, tylko z tym wyjątkiem, że funkcja w nagłówku służy do przeszukiwania każdej linii, niezależnie jak została umiejscowiona, czyli ta funkcja zwraca podobne parametry, co: {{LinkPatrz|p.SzukanieNaPodstawieWzoru}}.
Do wzoru: {{Code|wzor_linia}} {{LinkPatrz|wzor_linia}}, na końce niego, dla linii charakteryzujcych właśnie nią, zostają dodane elementu początku i końca linii, czyli znaki ze zbioru: {{Code|<nowiki>[^$\n]</nowiki>}} {{Patrz|elementy końca linii}}, w ten sposób jest tworzony wzor: {{Code|wzor}} {{LinkPatrz|wzor}}, na podstawie: {{Code|wzor_linia}} {{LinkPatrz|wzor_linia}}, w odniesieniu do dowolnej linii, by później można było go wykorzystać we funkcji: {{LinkPatrz|p.SzukanieNaPodstawieWzoru}}. Wzor: {{Code|wzor_linia}} {{LinkPatrz|wzor_linia}}, nie powinien zawierać w sobie znaków: {{LinkPatrz|elementy końca linii}}, bo inaczej byśmy przeszukiwali wiele kolejnych linii, ale też tak można.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzukanieNaPodstawieWzoruElementuLinii(tekst,wzor_linia,liczba_od,liczba_do,czy_od_tylu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Są takie same parametry jak w: {{LinkZobaczTeż|Parametry-SzukanieNaPodstawieWzoru}}, oprócz parametru: {{Code|jak}} {{LinkPatrz|jak}}, a zamiast wzoru: {{Code|wzor}} {{LinkPatrz|wzor}}, jest: {{Code|wzor_linia}} {{Patrz|wzor_linia}}, dla wnętrza (zawartości) linii.| komórka1=tak
}}
{{OpisParametrów
| tytuł = Zwracane parametry:
| 1 = Funkcja zwraca parametry uzyskane z funkcji: {{LinkPatrz|p.SzukanieNaPodstawieWzoru}}. | komórka1 = tak
}}
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
sty7z3zx0toowpq54avg3de5rvo4xm6
Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom IV
4
63919
560596
560403
2026-11-04T10:06:09Z
Persino
2851
560596
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.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie}}{{Code|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie}} ==
Funkcja wyszukuje w: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}, najbliższy rozdział do przodu lub od tyłu w zależności od podanego parametru: {{LinkPatrz|czy_od_tylu|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, w zakresach od: {{Code|liczba_od}} {{LinkPatrz|liczba_od|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, do: {{Code|liczba_do}} {{LinkPatrz|liczba_do|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}. Funkcja znajdująca uwzględnia, że tekst: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}, może być zakodowany w bazie kodów: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}, a części jego bazy mogą być w postaci przeanalizowanej w: {{Code|tablica_danych_parametrow_szablonu_strony}} {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy}}.
Funkcja przeszukuje kolejne linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, linie rodziałów zakodowanych, a dla rozdziału dodatniego równaniowego wykorzystuje natomiast funkcję: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
Funkcja {{ZobaczTeż|rozdziały}} wyszukuje rozdziały: dodatnie równaniowe, centrowane szablonowo lub znacznikowo, i nagłówkowe - poprzez szablony, czy znaczniki nagłówków.
* Rozdziały równaniowe, to są rozdziały otoczone wokół stron linii tekstu znakami {{Code|{{=}}}}, przykład: {{Code|<nowiki>== Tekst nagłówka ==</nowiki>}},
* Rozdziały, oczywiście, że dodatnie, nagłówkowe, to te: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{tag|h6}},
** Lub przez użycie szablonu: {{s|HNumer}}, do generowania sztucznego nagłówka, ta funkcja generuje powyższe nagłówki, przy pomocy zachowania zgodności z rozdziałami dodatnimi rówaniowo, nawet gdy po lewej i poprawej, liczba {{Code|{{=}}}}, jest większa niż: {{Code|6}}, co normalnie jest niedozwolone, w jego pierwszy parametrze, który symbolizuje pewien rozdział dodatni równaniowo,
* Centrowane szablonowo, oznaczone są szablonami: {{s|Ce}}, {{s|Centruj}} i {{s|Center}},
* Centrowane znacznikowo, oznaczone są znacznikami: {{Tag|center}}.
{{PobierzŚródtekst|uchwyt=parametry-baza_danych_kodowania_artykułu|nazwa artykułu=StronicowyParser/AnalizaSpisuRzeczy}}
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie(tekst_rozwiniety_calego_artykulu,liczba_od,liczba_do,czy_od_tylu,czy_spis_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}} | _1 = Tekst artykułu zakodowanego, w którym wyszukuje się pewne rozdziały, według: {{LinkZobaczTeż|rozdziały}}.
| 2 = {{Code|liczba_od}} | _2 = Jak w: {{LinkPatrz|liczba_od|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
| 3 = {{Code|liczba_do}} | _3 = Jak w: {{LinkPatrz|liczba_do|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
| 4 = {{Code|czy_od_tylu}} | _4 = Jak w: {{LinkPatrz|czy_od_tylu|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}.
| 5 = {{Code|czy_spis_tresci}} {{Patrz|czy_spis_tresci}} | _5 = Funkcja sprawdza, czy nagłówek spisu, jeśli istnieje, spełnia ściśle określone kryteria, jest to policzony nagłówek z funkcji: {{Code|{{sr|#p.AnalizaNapisuWprowadzeniaTekstu|p=StronicowyParser/SpisTreści}}}}, z tego samego nagłówka, przed transformacją, z przechwyconego z elementu, w którym jest właśnie to.
| 6 = Parametry z sekcji {{LinkZobaczTeż|Parametry zakodowanego spisu|StronicowyParser/AnalizaSpisuRzeczy}}:| nagłówek6 = tak
| 7 = {{Code|pelna_nazwa_spisu_tresci}} | _7 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy}}.
| 8 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _8 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy}}
| 9 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _9 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}.
| 10 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _10 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy}}.
}}
=== {{Śródtytuł|RozpatrywanieNapisoweWprowadzeniaTekstu}}{{Code|RozpatrywanieNapisoweWprowadzeniaTekstu}} ===
Funkcja ogólna do przeszukiwania kolejnych elementów według wzoru i wskazywania ich pozycji początkowej, czy końcowej, i elementów przechwytywanych.
Funkcja została skonstrułowana, by wyszukiwała kolejne rozdziały różnych typów, tzn.: {{Code|SZABLON}}, {{Code|ZNACZNIK}} i trzeciego nieokreślonej żadnym kodem, w postaci trzech konstrukcji szczególnych wykorzystujących tę ogólną funkcję, aby uzyskać pewne zmienne, by później je wykorzystać w: {{LinkŚródtytuł|ParametryNapisuWprowadzeniaTekstu}}, do zwracania danych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function RozpatrywanieNapisoweWprowadzeniaTekstu(wzor,czy_rozdzial_rownaniowy_dodatni,__FUNKCJA1,__FUNKCJA2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|wzor}} | _1 = Wzór dla tekstu, który przeszukujemy.
| 2 = {{Code|czy_rozdzial_rownaniowy_dodatni}} | _2 = Czy to jest rozdział dadatni równaniowy, wtedy ona przyjmuje wartość prawdziwą, w przeciwnym wypadku fałszywą, wtedy mamy, to dla nagłówków zapisanych w postaci kodów, jak rozdziały centrowania szablonowe i znacznikowe, sztuczne nagłówki napisu wprowadzenia tekstu, czy znaczniki nagłówków.
| 3 = {{Code|__FUNKCJA1}} | _3 = Funkcja do uzyskiwania danych z przechwytywanego ciągu wsadzanych jako parametr, i zwracania ich w postaci, co najwyżej dwóh kolejnych elementów, np. szablon i znumerowany kod danej bazy kodów tekstu zakodowanego, czy też może jako jedyny parametr nagłówek.
| 4 = {{Code|__FUNKCJA2}} | _4 = Funkcja do przetwarzania kolejno elementów, i do sterowania pętlą, aby nie zawsze ona się zatrzymywała, te parametry zwracane przez pierwszą funkcję są wsadzane jako parametry do tej funkcji, wraz z trzecim parametrem, funkcją, której wynik zwracamy bezpośrednią z tej funkcji.
}}
=== Tabele użyte do szczególnego użycia funkcji {{LinkŚródtytuł|RozpatrywanieNapisoweWprowadzeniaTekstu}} ===
W funkcji sa trzy szczególne wywołania tej funkcji.
; Szablony rozdziałów centrowania{{dk}}
* Tabela: {{Code|{{sr|#p.szablony_wprowadzenia_napisu_spisu_rzeczy|p=StronicowyParser/obiekty}}}}, tutaj są szablony, jako nazwy kluczy, takie jak: {{s|Ce}}, {{s|Centruj}} i {{s|Center}}.
* Tabela: {{Code|{{sr|#p.szablony_sztucznego_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}}, tutaj są szablony, jako nazwy kluczy, takie jak: {{s|HNumer}}.
; Znaczniki rozdziałów{{dk}}
* Znaczniki centrowania jak: {{Tag|center}}.
* Tabela: {{Code|{{sr|#p.znaczniki_wprowadzenia_tekstu|p=StronicowyParser/obiekty}}}}, określa znaczniki nagłówków takie jak: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}}.
; Rozdziały dadatnie równaniowe{{dk}}
* Nie potrzebują żadnej tabeli {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
=== Funkcja zwracająca parametry ===
Opis funkcji zwracającej parametry, która jest potrzebna właśnie do tego.
Do tej funkcji są wykorzystywane dane zwrcócone bezpośrednio z funkcji: {{LinkŚródtytuł|RozpatrywanieNapisoweWprowadzeniaTekstu}}, dla trzech różnych prrzypadków nagłówków, tzn. nagłówków zapisanych w postaci szablonów, znaczników i rozdziałów równaniowych, wtedy drugi parametr tej funkcji jest prawdziwy.
==== {{Śródtytuł|ParametryNapisuWprowadzeniaTekstu}}{{Code|ParametryNapisuWprowadzeniaTekstu}} ====
Funkcja przyjmuje i przygotowuje parametry do zwrócenia.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function ParametryNapisuWprowadzeniaTekstu(liczba_start,liczba_koniec,spis_naglowka_stare,spis_naglowka,spis_naglowka_poziom)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|liczba_start}} i {{Code|liczba_koniec}} | _1 = Początek i koniec danego typu napisu wprowadzenia tekstu.
| 2 = {{Code|spis_naglowka_stare}} {{Patrz|spis_naglowka_stare}}| _2 = Spis przed jego analizą, co wtedy z niego powstaje {{LinkZobaczTeż|spis_naglowka}}.
| 3 = {{Code|spis_naglowka}} {{Patrz|spis_naglowka}} | _3 = Spis {{ZobaczTeż|spis_naglowka}} przeanalizowany przez funkcję: {{Code|{{sr|#p.AnalizaNapisuWprowadzeniaTekstu|p=StronicowyParser/SpisTreści/Tom I}}}}, a później przez: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, jeżeli parametr: {{LinkPatrz|czy_spis_tresci}}, istnieje, jest to robione poza tą funkcją, możliwe, że ta wartość nie istnieje.
| 4 = {{Code|spis_naglowka_poziom}} {{Patrz|spis_naglowka_poziom}} | _4 = Poziom nagłówka, funkcja dostępna dla rozdziałów dodatnich, szablonu {{s|HNumer}} i znaczników nagłówkowych, dla pozostałych nagłówków nie istnieje.
}}
Funcja zwraca parametry napisane ogólnie według kodu dla każdego rodzaju napisu wprowadzenia tekstu:
<syntaxhighlight lang="lua">
return liczba_start,liczba_koniec,spis_naglowka,spis_naglowka_stare,spis_naglowka_poziom;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Wytłumaczenie parametrów zwracanych przez ten obiekt dla danego rodzaju rozdziału:
| 1 = {{Code|liczba_start}} i {{Code|liczba_koniec}} | _1 = Jest to powtórzenie parametrów dwóch pierwszych z parametrów tej funkcji.
| 2 = {{Code|spis_naglowka}} | _2 = Ten parametr jest liczony dla nieistniejącego parametru: {{Code|czy_spis_tresci}} {{LinkPatrz|czy_spis_tresci}}, są robione podobne operacje, jak w punkcie: {{LinkZobaczTeż|spis_naglowka}}, a jeżeli ten wpomniany parametr istnieje, to to nie jest robione w tej funkcji.
| 3 = {{Code|spis_naglowka_stare}} | _3 = Spis przed analizą, po którym ten parametr zamienia się w ten powyższy ostatni element, możliwe, że ten parametr nie istnieje, wtedy jest brany z: {{Code|spis_naglowka}} {{LinkPatrz|spis_naglowka}}.
| 4 = {{Code|spis_naglowka_poziom}} | _4 = Poziom nagłówka, funkcja dostępna dla rozdziałów dodatnich, szablonu {{s|HNumer}} i znaczników nagłówkowych.
}}
==== Dalszy opis funkcji ====
Funkcja w nagłówku zwraca parametry bezpośrednio z: {{LinkŚródtytuł|ParametryNapisuWprowadzeniaTekstu}}, w postaci, np. dla rozdziału dodatniego równaniowego:
<syntaxhighlight lang="lua">
return ParametryNapisuWprowadzeniaTekstu(liczba_start_dodatni,liczba_koniec_dodatni,spis_naglowka_dodatni_stare,spis_naglowka_dodatni,spis_naglowka_dodatni_poziom);
</syntaxhighlight>
Dla innych typów nagłówków jest zamiast: {{Code|dodatni}}, w zmiennych w powyższym przykładzie jest: {{Code|szablon}} - dla rozdziałów szablonowych, czy {{Code|znacznik}} - znacznikowych.
Funkcja wybiera, jakiego typy nagłówków z zakresu wykrytych różnego typu, ma obsłużyć, i wtedy odpowiednio ustawia funkcję parametrów, wskazaną jak w powyższym przykładzie, względem maksymalnych, w wyszukiwaniu do tyłu, lub minimalnych, w wyszukiwanych do przodu, nagłówkach, lewych pozycji wartości uzyskanych ze wszystkich nagłówków, sprawdzając, czy to się zgadza, z którymiś pozycjami lewymi tych nagłówków trzech typów.
== {{Śródtytuł|p.SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu}}{{Code|p.SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu}} ==
Funkcja uwzględnia nagłówki według {{LinkZobaczTeż|rozdziały}}, oprócz nagłówków równaniowych. Zawartością w nagłówkach centrowania, jest to wartość pierwszego parametru, a też w szablonie w sztucznych napisach wprowadzenia tekstu {{s|HNumer}}, jego zawartość to pierwszy jego argument, ale pomiędzy taką samą maksymalną liczbą znaków {{Code|{{=}}}} w nim, i jeszcze w jego wersji strimowanej.
; Uzyskanie elementów parametrów kodu bazy{{dk}}
* Funkcja wyszukuje pierwszego dozwolonego linku w tekście, w elemencie całkowitej zawartości: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}, którym jest to wywołanie nagłówka, uzyskanego z dwóch elementów, z tablicy wielowymiarowej, czyli:
** {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}} - nagłówki szablonowe centrowania, typu: {{s|Ce}}, {{s|Centruj}} i {{s|Center}} oraz nagłówki sztucznego rozdziału, takich jak: {{s|HNumer}},
** lub {{Code|obiekt}} {{Code|{{=}}}} {{Code|ZNACZNIK}} - nagłówki znacznikowe centrowania, typu: {{Tag|center}}, oraz znaczniki nagłówków: {{Tag|h1}}, {{Tag|h2}}, {{Tag|h3}}, {{Tag|h4}}, {{Tag|h5}} i {{Tag|h6}},
*: oraz także uzykanego z drugiego numeru w postaci numeru szablonu tego poszczególnego typu w bazie kodów, więc: {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}.
* Wnętrze uzyskujemy z dwóch poprzednich parametrów z: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}.
; Wyszukiwane trzy elementy zawartości obiektu{{dk}}
* Wyszukuje on w tak uzyskanej zawartości tego elementu, linki różnego typu, tzn. {{Code|LINKW}}, {{Code|LINKZ}} i linki szablonowe, i uzyskuje z tego trzy elementy, w nim, charakteryzujące kod: {{Code|{{m|Szablonowe}}}}, bazy kodów, a także znajduje w nim jego dalszy tekst, w nagłówku, po którym jest do końca jego zawartości, a jeżeli je znalazł, to to zwraca, te trzy zmienne i dalszy tekst, przeciwnie tylko te trzy.
* A jeżeli nie znalazł takiego linku, przy pierwszym kodzie, to wyszukuje dalej w tej zawartości, aż skończą się w tym zasoby danych, a jeśli się da, to je zwraca, w tak wytłumaczonej komplecie zmiennych, lub nic nie zrzuca, żadnego kompletu żadnych zmiennych.
; Zrzucane przez funkcje parametry{{dk}}
* Tam jakiś pierwszy link musi być zakodowany bezpośrednio w takiej zawartości, aby zwrócił te cztery parametry, przeciwnie zrzuca tylko te trzy, a czwarty przyjmuje wartość nilową, to się dzieje, w przypadku pośredniego zakodowania tego linku.
{{PobierzŚródtekst|uchwyt=parametry-baza_danych_kodowania_artykułu|nazwa artykułu=StronicowyParser/AnalizaSpisuRzeczy}}
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu(obiekt,kod,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji {{nobold|{{Patrz|parametry-SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu}}}}:
| 1 = Parametry z sekcji {{LinkZobaczTeż|Parametry kodowania|StronicowyParser/AnalizaSpisuRzeczy}}: | nagłówek1 = tak
| 2 = {{Code|obiekt}} | _2 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}}.
| 3 = {{Code|kod}} | _3 = Jak w: {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}.
| 4 = Parametry z sekcji {{LinkZobaczTeż|Parametry zakodowanego spisu|StronicowyParser/AnalizaSpisuRzeczy}}: | nagłówek4 = tak
| 5 = {{Code|pelna_nazwa_spisu_tresci}} | _5 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy}}.
| 6 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _6 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy}}.
| 7 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _7 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}.
| 8 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _8 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy}}.
}}
{{OpisParametrów
| tytuł = Opis parametrów zwracanych dokończające jego dokumentację:
| 1 = Parametry z sekcji {{LinkZobaczTeż|Parametry złożone|StronicowyParser/AnalizaSpisuRzeczy}}: | nagłówek1 = tak
| 2 = {{Code|szablon}} | _2 = Jak w: {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}.
| 3 = Parametry z sekcji {{LinkZobaczTeż|Parametry kodowania|StronicowyParser/AnalizaSpisuRzeczy}}: | nagłówek3 = tak
| 4 = {{Code|obiekt}} | _4 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}}, mozliwe wartości: {{Code|SZABLON}} (linku szablonowe), {{Code|LINKW}} (linki wewnętrzne) i {{Code|LINKZ}} (linki zewnętrzne).
| 5 = {{Code|kod}} | _5 = Jak w: {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}.
| 6 = Inne parametry: | nagłówek6 = tak
| 7 = {{Code|dalszy_tekst}} {{Patrz|dalszy_tekst}} | _7 = Dalszy zwracany tekst w napisie wprowadzenia tekstu, po zwracanym jako jego parametry tej funkcji, czyli dalszego tekstu.
}}
Kod zwracanych parametrów funkcji:
<syntaxhighlight lang="lua">
return szablon,obiekt,kod,dalszy_tekst;
</syntaxhighlight>
; Wykrywane linki różnego typu{{dk}}
* Funkcja wyszukuje rozdziały, a w nich pierwsze zarejestrowane linki, którymi są zakodowane linki wewnętrzne lub zewnętrzne, lub linku szablonowe, nawet inteligentne, którego nazwy są zakatologowane w tablicach, te linki są zdefiniowane według: {{Code|{{sr|#p.linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}}:
{{Tbl|uchwyt=p.linki_szablony_elementy_spisu_rzeczy|tekst=
<syntaxhighlight lang="lua">
p.linki_szablony_elementy_spisu_rzeczy={
["SpisTreści"]=true,
["Sekcja referencyjna"]=true,
["Sr"]=true,
["Link wewnętrzny"]=true,
["Ly"]=true,
["LinkOgólne"]=true,
["Lo"]=true,
};
</syntaxhighlight>}}
* Inne linki mogące być użyte w rozdziałach zdefiniowane są w punkcie: {{Code|{{sr|#p.inne_linki_szablony_elementy_spisu_rzeczy|p=StronicowyParser/obiekty}}}} {{LinkTbl|p.inne_linki_szablony_elementy_spisu_rzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}},
* Jeszcze są wspomniane linki, to tzw. linki inteligentne standardowe, w przeciwieństwie do powyższych, ale nie do końca, można sprawdzić przez funkcję: {{Code|{{sr|#p.PodzielNaElementyNazwowyWikiLinkInteligentny|p=StronicowyParser/Potrzebne}}}} {{Patrz|p.PodzielNaElementyNazwowyWikiLinkInteligentny}}.
; Przykład wywołania fukcji{{dk}}
Przykład wywołania funkcji wraz z jego udokumentowanymi parametrami z: {{LinkPatrz|parametry-SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu}}, czyli:
<syntaxhighlight lang="lua">
local szablon,obiekt,kod,dalszy_tekst=p.SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu(obiekt,kod,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
</syntaxhighlight>
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
bdjhxf1dl1cqleu9x7n6lkwwh1d8jla
Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom V
4
63920
560597
559019
2026-11-04T10:15:42Z
Persino
2851
560597
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 zawartości nagłówka) 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,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>
{{OpisParametrów
| tytuł = Opis parametrów ogólne funkcji:
| 1 = {{Code|tekst_rozwiniety_calego_artykulu}} | _1 = Jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}.
| 2 = {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} | _2 = Czy ma zerować, ścisle określone zmienne, które mieszczą się w niezerowej tablicy zmiennych składowych, tzn. w: {{Code|tab_zmienne}} {{LinkPatrz|tab_zmienne}}.
| 3 = {{Code|tab_zmienne}} {{Patrz|tab_zmienne}} | _3 = Zmienne w nim do zerowania.
| 4 = Parametry z sekcji: {{LinkZobaczTeż|Parametry zakodowanego spisu|StronicowyParser/AnalizaSpisuRzeczy}}.| komórka4 = tak
}}
{{OpisParametrów
| tytuł = Opis parametrów funkcji zwracanej dla tekstu rozważanego: {{nobold|{{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}}}:
| 1 = {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} | _1 = Numer znaku, po którym coś rozważamy.
| 2 = {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} | _2 = Numer znaku, przed którym coś rozważamy.
}}
; Sprawdzenie spełnienia warunku, przejście do wnętrza tej instrukcji warunkowej{{dk}}
Funkcja zwracana sprawdza, czy zmienne: {{Code|liczba_koniec_naglowek}} {{LinkPatrz|liczba_koniec_naglowek}}, i {{Code|liczba_obiekt_start_nowe}} {{LinkPatrz|liczba_obiekt_start_nowe}}, istnieją, i te zmienne sugerują punkty znakowe w tekście: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}, 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>
; Sprawdzenie uzyskanej zmiennej tekstowej, będąca tekstem pomiędzy linkiem, a końcem rozdziału{{dk}}
* Liczenie zmiennej tekstowej za pomocą, którą będziemy sprawdzać:
: A jeżeli jest jednak tak, tzn. spełniony jest ten warunek, to znajdujemy 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:
: Ona 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{{dk}}
* Sprawdzanie niepustych linii po liniach, ewentualnie składających się ze znaków odstępów:
: Funkcja liczy, ile takich linii znalał, zapisuje to pod zmienną {{Code|ile}} {{Patrz|ile}}, jeśli wśród takich linii znalazł 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, w liniach niepasujących do tych wzorów, czy tam są artykuły (strony) nie z rozważanej danej książki, przy pomocy funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, jeśli są takie elementy, to funkcja dodaje to do licznika: {{Code|ile_punktowanych}} {{LinkPatrz|ile_punktowanych}}, aby dodać jeden do licznika, dla każdej takiej linii funkcja sprawdza, czy przynajmniej jeden taki artykuł się znajduje tam, w każdej takiej wykrytej linii.
* Jeśli liczba określona przez zmienną: {{Code|ile_punktowanych}} {{LinkPatrz|ile_punktowanych}}, jeżeli jest, co najmniej równa wyszukanym liniom: {{Code|ile}} {{LinkPatrz|ile}}, to funcja się zatrzymuje, i nie zwraca żadnej wartości, czyli wskazuje na powodzenie.
* Gdy liczba tego jest mniejsza niż wykrytych linii, to coś jest nie tak, wtedy funkcja nic nie zwraca, tylko idzie dalej.
; Inne operacje w przypadku niestwierdzenia, jak dotąd niepowodzenia przez funkcję, nie ma jeszcze zwróconej wartości {{nobold|{{Code|nil}}}}{{dk}}
* Zerowanie się pewnych wartości:
** Funkcja z tak policzonego: {{Code|str}} {{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, sprawdza, czy jest zmienna: {{Code|czy_zeruj}} {{LinkPatrz|czy_zeruj}}, prawdziwa, a jeśli tak, to elementy zmiennej: {{Code|tab_zmienne}} {{LinkPatrz|tab_zmienne}} są nilowane.
Ale niezależnie od wartości: {{Code|czy_zeruj}} {{LinkPatrz|czy_zeruj}}, funkcja wtedy zwraca zawsze wraca wartość {{Code|true}}, czyli ona zwraca to niepowodzenie.
; Elementy tabeli{{dk}} {{nobold|{{Code|tab_zmienne}}}}, są o kluczach{{dk}}
{{OpisParametrów
| 1 = {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} | _1 = Liczba pozycji sekcji wskazująca, czy istnieje pierwszy taki artykuł (nie okładka, nie strona niedozwolona) aktualnej książki, lub bezpośrednio taki artykuł, niekoniecznie tej książki, czy znajduje się bezpośrednio w pozycji sekcji, i tylko sam tam się znajduje.
| 2 = {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}} | _2 = Liczba pozycji sekcji, która wskazuje na pierwszy taki wykryty artykuł, licząc od przodu, który spełnia pewne ścisle określone kryteria, jaki może być w książce.
| 3 = Kryteria określone przez te zmienne powyżej są określone przez funkcję: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, tzn. pozycje jakich artykułów zaliczyć do tych zmiennych o tych kluczach. | komórka3 = tak
| 4 = {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} | _4 = Wartość prawdziwą wskazuje, czy wynilowano zmienne należące do rozważanej tablicy.
}}
== {{Śródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}{{Code|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}} ==
Funkcja wyszukuje, od tyłu, 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,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>
{{OpisParametrów
| tytuł = Opis parametrów funkcji {{nobold|{{ZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}}}:
| 1 = {{Code|tekst_rozwiniety_calego_artykulu}} | _1 = Jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}.
| 2 = Parametry z sekcji: {{LinkZobaczTeż|Parametry zakodowanego spisu|StronicowyParser/AnalizaSpisuRzeczy}}. | komórka2 = tak
| 3 = {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} |_3 = Podczas wyszukiwania od tyłu, do jakiego punktu ma wyszukiwać, jeśli wartość: {{Code|czy_bez_naglowka}} {{LinkPatrz|czy_bez_naglowka}}, jest odpowiadająca fałszywej.
| 4 = {{Code|liczba_obiekt_start_nowe}} | _4 = Jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, wykorzystywane w funkcji: {{Code|AnalizowanieSekcjowe}} {{LinkPatrz|AnalizowanieSekcjowe}}, do sprawdzania, tylko za pierwszym razem, pomiędzy znakami: końcem wyszukiwanego nagłówka, wraz ze znakiem nowej linii, a tą zmienną, robimy to do rewidowania, czy tekst rozdziału spełnia ściśle określone normy określone przez tą funkcję. To jest to pozycja taka, na jaką wskazuje również pozycja jakaś artykularna, prze którym sprawdzamy tą funkcją tekst.
| 5 = {{Code|liczba_obiekt_start_spac_par}} {{Patrz|liczba_obiekt_start_spac_par}} | _5 = Numer znaku, od którego ma wyszukiwać od tytułu pewne linie.
| 6 = {{Code|czy_dodatni}} {{Patrz|czy_dodatni}} | _6 = Typ wyszukiwania rozdziałów, tzn. {{LinkZobaczTeż|czy_dodatni}}.
| 7 = {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}} | _7 = Czy ma wyszukiwać do: {{Code|1}}, od tyłu, a nie do: {{Code|liczba_start_rozdzial}} {{LinkPatrz|liczba_start_rozdzial}}.
| 8 = {{Code|AnalizowanieSekcjowe}} {{Patrz|AnalizowanieSekcjowe}} | _8 = 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 parametru{{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 pozycje 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 I}}.
: 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 III}}, jeżeli parsowanie przeszło niepomyślnie, a funkcja: {{Code|AnalizowanieSekcjowe}} {{LinkPatrz|AnalizowanieSekcjowe}}, zrzuci wartość prawdziwą, wtedy ta cała funkcja z nagłówka zrzuca wartość logiczną fałszywą. Ta funkcja wykorzystuje wartość: {{Code|liczba_obiekt_start_nowe}} {{LinkPatrz|liczba_obiekt_start_nowe}}, jako drugi parametr, dla którego liczy ona tekst przed, ta zmienna może wskazywać na początek pozycji linii artykularnej (z artykułami), aby ona policzyła swoją wartość.
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: {{Code|czy_dodatni}} {{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 zwracanych:
<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:
{{OpisParametrów
| 1 = Ostanie {{ZobaczTeż|nagłówki pasujące}} dopasowanie nagłówka pasujące, gdy tekst jego rozdziału jest równy znakom odstępu lub jest pusty, lub on jest coraz bardziej główniejszy: | nagłówek1 = tak
| 2 = {{Code|liczba_start_naglowek}} | _2 = Początek ostatniego wyszukanego takiego nagłówka.
| 3 = {{Code|liczba_koniec_naglowek_poczt}} | _3 = Koniec pierwszego wyszukanego nagłówka.
| 4 = {{Code|naglowek}} | _4 = Wartość nagłówka dla tego ostatniego dopasowania.
| 5 = {{Code|poziom_naglowka}} | _5 = Poziom takiego nagłówka.
| 6 = Według wartości zwracanych powyższych w pierwszej kolejności, dla którego tekst rozdziału nie musi być równy znakom odstępu, dla rozdziałów coraz bardziej niegłówniejszych, a dla innych jest według {{LinkZobaczTeż|nagłówki pasujące}}, które są zwracane według powyższych wartości, a pozostałe według poniższych. | komórka6 = tak
| 7 = Niepasujący nagłówek, wyszukane pierwsze z kolei po pasującym: | nagłówek7 = tak
| 8 = {{Code|liczba_start_naglowek_dalej}} | _8 = Początek po pasującym tak nagłówku.
| 9 = {{Code|liczba_koniec_naglowek_dalej}} | _9 = A tutaj jego koniec.
| 10 = {{Code|naglowek_dalej}} | _10 = Wartość tekstu napisu wprowadzenia tekstu.
| 11 = {{Code|poziom_naglowek_dalej}} | _11 = Tutaj jego poziom.
}}
W przypadku nieznalezienia takich nagłówków funkcja nie zwraca niczego.
== {{Śródtytuł|p.SzukanieKolejnychSekcji}}{{Code|p.SzukanieKolejnychSekcji}} ==
Funkcja służy do zaawansowanego szukania, od tyłu, 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 układu sekcji różnego typu w rozważanym tekście.
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,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>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}. | komórka1 = tak
| 2 = Jedynie funkcja nie ma parametru: {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, ponieważ ta funkcji nie szuka kolejnych rozdziałów tylko jednego rodzaju, lecz wielu. | komórka2 = tak
}}
=== {{Śródtytuł|str_spacja_lub_zerowy_naglowek}}{{Code|str_spacja_lub_zerowy_naglowek}} ===
Dla każdej takiej niepustej linii, sprawdzane jest, czy to są linie z odstępami, lub czy nie są elementami listy, ale w sposób rozszerzony, tzn. ten początek nie może składać się z pewnych znaków, czyli: {{Code|<nowiki>^[^%*#:;<>\n]</nowiki>}}.
Funkcja sprawdza, czy liczba takich linii, jest taka sama, ile jest niepustych linii, wtedy funkcja zwraca wartość logiczną prawdziwą, przeciwnie wartość nilową.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local str_spacja_lub_zerowy_naglowek=function(tekst)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} | _1 = Tekst do sprawdzenia.
}}
=== 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 (przed artykułem), 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ę dzieje pod warunkiem, że funkcja: {{Code|AnalizowanieSekcjowe}} {{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 musi.
=== Etapy alternatywy instrukcji warunkowej ===
W funkcji są trzy etapy instrukcji warunkowej:
* '''if(...)then ({{nobold|pierwszy etap}}) elseif(...) ({{nobold|drugi etap}}) else ({{nobold|trzeci etap}}) end;'''.
==== Pierwszy etap ====
; To dotyczy, że znalazł ostatnie dopasowanie, ale niepasującego nagłówka, przed nim, nie ma.
* Wtedy funkcją: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, znajdowane jest dopasowanie w minimalnie podwójnych cudzysłowach.
* A jeżeli tego nie znalazł, wtedy przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, w '''pętli nieskończonej''', najpierw dla parametru: {{Code|czy_dodatni}} {{Code|{{=}}}} {{Code|2}}, a później dla {{Code|3}}, najpierw jest to pierwsze, a później to drugie, jeśli z tego pierwszego zostało wykonana komenda przerwania pętli, to drugie dopasowanie nie zostanie wykonane w danym obiegu jego, normalnie, bez tego są dwa wywołania.
* W każdym takim wywołaniu i dopasowaniu kolejno do tyłu, w pierwszym, czy drugim, będzie sprawdzane, czy tego dokonano, czy taki nagłówek znaleziono, a jeśli tak, to sprawdzany jest tekst pomiędzy ostatnim końcem w wykrytym nagłówku, a początkiem tego przedostatniego, lub z etapu ogólnego, funkcją: {{LinkŚródtytuł|str_spacja_lub_zerowy_naglowek}}, jeżeli funkcja zwróciła wartość logiczną odpowiadającej fałszywej, to pętla jest przerywana, w przeciwnym wypadku są inicjowane parametry tego dopasowania, które przygotowuje ona zwrócić do funkcji w nagłówku.
; Ogólnie po drugim taki wywołaniu następuje sprawdzenie parametrów zwróconych{{dk}}
* Jeżeli w ostatnim takim wywołaniu w tym funkcja zwraca niedopasowanie, wtedy zwracane jest przerywanie pętli, wtedy mamy parametry ostatniego dopasowania, jeśli istnieją takie.
==== Etap drugi ====
; To dotyczy, że takiego dopasowania pasującego nie znalazł.
* Wtedy funkcją: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, znajdowane jest dopasowanie w minimalnie podwójnych cudzysłowach.
* A jeżeli to znalazł, to wyszukany stąd nagłówek jest rozwijany przy pomocy funkcji: {{Code|{{sr|#p.AnalizaNapisuWprowadzeniaTekstu|p=StronicowyParser/SpisTreści/Tom I}}}}.
* Jeżeli parser funkcji nie wykrył wykrzyknika na końcu takiego nagłówka, wtedy jest sprawdzane przy pomocy iteratora w zakodowanym tekście przy pomocy: {{Code|{{m|Szablonowe}}}}, na podstawie: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, czy w nagłówku istnieją artykuły bieżącej książki, i czy to nie jest okładka, czy strona niedozwolona.
* Jeżeli wykryto takie artykuły, lub pętla nie została wykonana, bo nie ma takich wykrytym w nagłówku kodów, to funkcja inicjuje parametry zwracanych wartości przez funkcję w nagłówku.
==== Etap trzeci ====
; To dotyczy pozostałych przypadków, w którym znalazł ostatnie dopasowanie, a niepasujące przed nim też znalazł.
* Jest wywoływane wywołanie: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}, najpierw w pierwszym wywołaniu dla: {{Code|czy_dodatni}} {{Code|{{=}}}} {{Code|2}}, a później dla {{Code|3}}.
* A w każdym takim wywołaniu jest sprawdzane, czy tekst pomiędzy końcem ostatniego wykrytego nagłówka, a początkiem przedostatniego nagłówka, a nawet artykułu wykrytego, czyli czy taki tekst rozdziału, czy składa się z samych znaków odstępów, a jeśli tak, to inicjowane są parametry zwracane przez funkcję. Dalej przechodzimy z pierwszego do drugiego wywołania, w którym oba wywołania są podobnie zbudowane.
=== Parametry wychodzące z funkcji ===
* Oto parametry inicjowane przez funkcję w tych powyższych trzech etapach alternatywnych, które na końcu funkcji w nagłówku są zwracane:
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 wewnątrz funkcji:
{{OpisParametrów
| 1 = {{Code|liczba_start_naglowek}} | _1 = Początek tego dopasowania,
| 2 = {{Code|liczba_koniec_naglowek}} | _2 = Jego koniec,
| 3 = {{Code|naglowek}} | _3 = Wartość napisu wprowadzenia tekstu nagłówka,
| 4 = {{Code|poziom_naglowka}} | _4 = Poziom tego nagłówka.
}}
== {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowych}} ==
Funkcja służy do wyszukiwania, od tyłu, pozycji artykularnej przed wykrytym ostatnim rozdziałem, lub gdy nie ma rozdziałów, to liczy pozycję tylko artykularną, lub nawet pozycji rozdziałów zerowych spisu treści albo nawet tych z dwukropkiem na końcu danej linii, i szuka od tyłu takie coś, by to uznać za początek spisu treści wyciętej z tekstu zakodowanego spisu, czyli ogólnie mówiąc, funkcja szuka dalej takiego początku dalszego.
Funkcja służy też do wydzielania części spisu spełniające powyższe kryteria, aby można było ją parsować przez inne funkcje '''{{ld|StronicowyParser|Stronicowego parsera}}''', do wydzielania dalszych rozdziałów, a z nich wydzielania nagłówków (napisów wprowadzenia tekstu) i tekstów rozdziałów, poprzez zwrócenie w nim wartości pierwszego parametru.
Funkcja pętluje przy wykrytych liniach składających się z odstępów, a się zatrzymuje na normalnych danych lub po zakończeniu zasobów.
Główny opis funkcji {{ZobaczTeż|p.SzukanieSekcjiLinkowychLiniowych}}:
* Funkcja działa w pętli nieskończonej, aż do zakończenia danych, lub do zwrócenia elementów przez nią,
* W tej pętli funkcja wyszukuje kolejne linie, które nie są pozycjami listy, z którego jest wyodrębniana linia, analizowane, jeżeli istnieją.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzukanieSekcjiLinkowychLiniowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_start,liczba_pierwszy_rozdzialowy_artykul,czy_bez_naglowka,czy_dalej_rozdzial)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}. | komórka1 = tak
| 2 =
{{Śródtekst|uchwyt=bez jakich parametrów standardowo|tekst=
Funkcja nie przyjmuje parametrów z listy zmiennych podanych w poprzedniej pozycji listy powyżej: {{Code|liczba_obiekt_start_nowe}} {{LinkPatrz|liczba_obiekt_start_nowe}}, {{Code|liczba_obiekt_start_spac_par}} {{LinkPatrz|liczba_obiekt_start_spac_par}}, {{Code|czy_dodatni}} {{LinkPatrz|czy_dodatni}}, i {{Code|AnalizowanieSekcjowe}} {{LinkPatrz|AnalizowanieSekcjowe}}.
}}| komórka2 = tak
| 3 = Dodatkowo funkcja przyjmuje parametry: | nagłówek3 = tak
| 4 = {{Code|liczba_start}} {{Patrz|liczba_start}} | _4 = Od której pozycji od tyłu ma wyszukiwać pozycje artykularne.
| 5 = {{Code|liczba_pierwszy_rozdzialowy_artykul}} | _5 = Jak w: {{LinkPatrz|liczba_pierwszy_rozdzialowy_artykul}}.
| 6 = {{Code|czy_dalej_rozdzial}} {{Patrz|czy_dalej_rozdzial}} | _6 = Czy {{ZobaczTeż|czy_dalej_rozdzial}} uznać za pierwszeństwo, w przypadku wykrytego rozdziału dodatniego w linii, lub nie wykrycia takiej linii, która nie jest częścią listy, wtedy jest ważny element (zmienna) {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, przeciwnie jest brane, coś przeciwnego, tzn. w pierwszej sytuacji koniec tego rozdziału: {{Code|liczba_koniec_tekst}} {{Patrz|liczba_koniec_tekst}}, a w tej drugiej: minimum: liczby: {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{LinkPatrz|liczba_pierwszy_rozdzialowy_artykul}}, lub jeśli ta liczba nie istnieje, to jedynki, i liczby: {{Code|liczba_start}} {{LinkPatrz|liczba_start}}.
}}
Parametry {{ZobaczTeż|zwracane-p.SzukanieSekcjiLinkowychLiniowych}} zwracane przez funkcję, które są zwracane kolejno w niej na końcu jej działania:
{{OpisParametrów
| 1 = Ustalany jest taki punkt w wyniku obliczeń wyszukań, uzyskanym z obliczeń w wyniku pętli (wyjaśnienie w tekście). | komórka1 = tak
| 2 = Liczba znaków odstępów wykrytych podczas wszystkich obiegów pętli (jest to reprezentowane przez: {{Code|liczba_spac}} {{Patrz|liczba_spac}}). | komórka2 = tak
| 3 = Czy tak, uzyskana i zwrócona, linia jest rozdziałem spisu treści (jest to reprezentowane przez: {{Code|czy_spis}} {{Patrz|czy_spis}}). | komórka3 = tak
}}
=== Etapy zwracania przez funkcję elementów ===
* Funkcja przedstawia szereg etapów, jakie ona musi przejść, aby wydzielić nagłówek zerowy przed nim, czy tekst z linkami do artykułów, ale nieokładkowych książki bieżącej.
==== Uzyskanie linii według ogólnego wzoru ====
* Według {{LinkZobaczTeż|p.SzukanieSekcjiLinkowychLiniowych}}, tą linią, byłoby takie coś pomiędzy ewentualnie znakami nowych linii, która spełnia wzór: {{Code|<nowiki>([^%*#:;<>\n][^\n]*)</nowiki>}}. To wyszukiwanie jest według funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, wyszukujący w sposób ogólny linie, niezależnie jak są one realizowane w tekście.
==== Początek i koniec uzyskanej linii według powyższego sposobu ====
* Początek i koniec przechwyconej linii, to są pewne liczby, wraz ze znakami nowej linii, jeśli po któreś stronie istnieją, lub nawet gdy to są w tym elementy, początku lub końca, tekstu, wtedy długość tych elementów jest zero.
==== Brak dopasowania linii ====
* A jeżeli dopasowanie tej linii zgłasza niedopasowanie, wtedy przy prawdziwości zmiennej: {{Code|czy_dalej_rozdzial}} {{LinkPatrz|czy_dalej_rozdzial}}, według: {{LinkZobaczTeż|czy_dalej_rozdzial}}, zwracane jest: {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, przeciwnie, wartość minimalną, pomiędzy tą zmienną a inną {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{LinkPatrz|liczba_pierwszy_rozdzialowy_artykul}} (jeśli ta zmienna nie istnieje, to domyślnie ma wartość {{Code|1}}).
==== Rozdział równaniowy ====
* Jeżeli tą linią jest rozdział równaniowy, to zwracane jest, jeżeli wartość {{Code|czy_dalej_rozdzial}} {{LinkPatrz|czy_dalej_rozdzial}}, według {{LinkZobaczTeż|czy_dalej_rozdzial}}, ma wartość fałszywą, wtedy jest to dopasowanie końca tej linii, w pierwszym parametrze zwracanym, wraz z innymi danymi, według {{LinkZobaczTeż|zwracane-p.SzukanieSekcjiLinkowychLiniowych}}, a jeżeli ta wartość jest prawdą, to zwracane jest {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, bo w tej funkcji nie ma prawa być takich rozdziałów dopasowywać. Ma dopasowywać tylko normalne linie niebędące pozycjami listy lub rozdziałami równaniowymi.
==== Pierwsze rozgałęzenie specjalne instrukcji warunkowej ====
: Znaki odstępów - linia to białe znaki:
* Jeżeli linia istnieje i składa się z samych znaków odstępów, to liczmy długość tych znaków, wraz z nowymi liniami po prawej lub lewej stronie, jeśli istnieją, i wsadzamy to do ogólnego licznika {{Code|liczba_spac}} {{LinkPatrz|liczba_spac}}, która jest zwracana na końcu działania funkcji, jako drugi parametr w: {{LinkZobaczTeż|zwracane-p.SzukanieSekcjiLinkowychLiniowych}}. Funkcja wykonuje tych okrążeń pętli tyle, ile jest kolejnych linii składających się z tych znaków.
==== Przypadek istnienia linii nie składającej się ze znaków odstępów ====
: Rozdział spisu treści i rozdział zerowy:
* Jeśli linia jest spisem względem {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}, to {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, przyjmuje wartość początkowi takiej ustalonej linii w tekście, a {{Code|czy_spis}} {{LinkPatrz|czy_spis}} przyjmuje wartość prawdziwą.
* A jeśli tak nie jest, to sprawdzamy, czy przed tą linią jest rozdział zerowy na podstawie funkcji: {{LinkŚródtytuł|p.ZnajdowanieZerowegoSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}. Jeżeli ona jest tym rozdziałem, to {{Code|liczba_start}} {{LinkPatrz|liczba_start}} ma już nową wartość, przeciwnie, jeśli ta linia ma na końcu dwukropek, to ta wartość nowa jest równa początkowi wyszukania tej linii, a jeśli nie, to końcowi. Zmienna, czy jest rozdział spisu {{Code|czy_spis}} {{LinkPatrz|czy_spis}} ma wartość prawdziwą, gdy ten rozdział zerowy istnieje, a jeśli nie, to fałszywą.
==== Przypadek istnienia, lub nie, rozdziału zerowego ====
; Gdy znaleziono taki rozdział zerowy{{dk}}
* Jeśli znaleziono taki rozdział (zerowy) - w linii niebieżącej, to: {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, nie zmienia wartości.
* Przeciwnie, jeśli znaleziono taki spis w bieżącej linii, to: {{nobold|{{Code|liczba_start}} {{LinkPatrz|liczba_start}}}}, ma wartość początkowi takiej linii.
; Przeciwnie, wtedy przypadek sprawdzania linii w wypadku nieistnienia w nim kodów{{dk}}
* Jeśli wyszukana linia jest rozdziałem z dwukropkiem na końcu, to początkowi, a jeśli nie, to końcowi.
* Wtedy w przypadku istnienia dwukropka na końcu rozdziału, wtedy ustawiamy: {{Code|czy_spis}} {{LinkPatrz|czy_spis}}, jest prawdą, w innym wypadku na fałsz.
; Sytuacja niespełnienia poprzednich warunków{{dk}}
* Sprawdzamy, czy linia ma pozycje artykularne, które nie są okładkami lub stronami niedozwolonymi, a jeśli tak jest, na podstawie wywołania funkcji: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, to zwracany jest początek wyszukania takiej linii, przeciwnie powtarzana jest wartość {{Code|liczba_start}} {{LinkPatrz|liczba_start}}.
* Wtedy, gdy linia nie ma takich artykułów i rozdział z dwukropkiem na końcu istnieje, wtedy ustalamy zmienną: {{Code|czy_spis}} {{LinkPatrz|czy_spis}}, na prawdę, w innym wypadku na fałsz.
; Zwracane wartości{{dk}}
: Na samym końcu zwracane jest to wszystko w postaci parametrów: {{LinkZobaczTeż|zwracane-p.SzukanieSekcjiLinkowychLiniowych}}.
== {{Śródtytuł|p.SzukanieLinkuWeSzablonieOrazDalszymNapisie}}{{Code|p.SzukanieLinkuWeSzablonieOrazDalszymNapisie}} ==
Funkcja wyszukuje, czy dla obiektu o typie {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}} o numerze liczbowym {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}} - nie jako łańcuch znakowy, dla ich uzyskiwanego odpowiednika {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}, generowanego z: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}, są linki w zależności od podanej zmiennej: {{Code|czy_wszystkie_linki}} {{LinkPatrz|czy_wszystkie_linki}}, a jeżeli tam nie ma linków, to przeszukiwany jest: {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, w ich poszukiwaniu, którymi zrządzą prawa w zależności od przyporządkowanej zmiennej: {{Code|czy_nieoddzielone}} {{LinkPatrz|czy_nieoddzielone}}, wartość prawdziwa tej zmiennej, włącza dowolność układu obiektów typu: {{Code|SZABLON}}, {{Code|LINKW}} i {{Code|LINKZ}}.
Funkcja sprawdza dany link funkcją: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}. A kolejne obiekty w dalszym tekście: {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, są znajdowane dzięki iteratorowi: {{Code|{{sr|#p.IteratorSzablonowyZakodowanegoTekstu|p=Szablonowe}}}}.
=== Etapy wykonywania czynności ===
Funkcja patrzy na: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}, i sprawdza, czy to jest link:
* Jeśli tak to zwraca wartość prawdziwą.
* A jeśli nie, to później robimy to według: {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, w celu wyszukania takiego obiektu, którym jest jakiś pierwszy link.
Wykryty sprawdzany obiekt, względem tego poprzedniego - te obiekty nie muszą być linkami, musi spełniać pewną relację, jeśli wartość {{Code|czy_nieoddzielone}} {{LinkPatrz|czy_nieoddzielone}}, nie jest prawdziwa, w przeciwnym razie taka relacja nie jest sprawdzana.
* Jeśli ta zasada jest nie spełniona, to funkcja zwraca wartość fałszywą.
Funkcja zwraca wartość prawdziwą, jeśli wykryto taki pierwszy potwierdzony link, przy spełnionych relacjach, jeśli je trzeba sprawdzić, a jeśli nic nie znalał, to zwraca wartość fałszywą.
==== Wartości zwracane dodatkowe, gdy funkcja zrzuciła prawdę w pierwszym parametrze ====
Zestaw zwracanych parametrów jest, wtedy:
<syntaxhighlight lang="lua">
return true,czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka;
</syntaxhighlight>
Dalsze parametry po pierwszym są to parametry, w takiej kolejności zrzucane przez nią, jak według funkcji w nagłówku, również zwracane przez funkcję: {{LinkŚródtytuł|p.CzyGeneralnieElementSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}.
=== Inne elementy dokumentacji ===
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzukanieLinkuWeSzablonieOrazDalszymNapisie(obiekt,kod,linia,dalszy_tekst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,czy_nieoddzielone,czy_wszystkie_linki,czy_bez_innych_stron,czy_z_okladka,czy_pierwszy_link_dowolny)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}. | komórka1 = tak
| 2 = {{PobierzŚródtekst|uchwyt=bez jakich parametrów standardowo}} | komórka2 = tak
| 3 = Dodatkowo funkcja przyjmuje dodatkowe wartości jako argumenty: | nagłówek3 = tak
| 4 = {{Code|dalszy_tekst}} {{Patrz|dalszy_tekst}} | _4 = Dalszy tekst, do przeszukiwania linkowego.
| 5 = {{Code|czy_nieoddzielone}} {{Patrz|czy_nieoddzielone}} | _5 = Czy linki mają być oddzielone interpunkcją, czy odstępami, w przypadu przeciwnym, jeżeli tak nie jest, to funkcja zwraca wartość fałszywą.
| 6 = {{Code|czy_wszystkie_linki}} {{Patrz|czy_wszystkie_linki}} | _6 = Czy uwzględniaj wszystkie linki, czy tylko artykuły, nie okładki, (dozwolone), danej książki.
| 7 = {{Code|czy_bez_innych_stron}} {{Patrz|czy_bez_innych_stron}} | _7 = Wartość odpowiadająca prawdziwej, wtedy nie są uwzględniane artykuły i strony, nie z tej książki, którą rozważa funkcja.
| 8 = {{Code|czy_z_okladka}} {{Patrz|czy_z_okladka}} | _8 = Czy okładki ma traktować, jak artykuły, z pierwszą wartością zwracaną prawdziwą w funkcji.
| 9 = {{Code|czy_pierwszy_link_dowolny}} {{Patrz|czy_pierwszy_link_dowolny}} | _9 = Jego wartość prawdziwą jest anulowanie działania parametru prawdziwego: {{Code|czy_bez_innych_stron}} {{LinkPatrz|czy_bez_innych_stron}}, tylko dla pierwszego obiektu w linii.
}}
Funkcja zwraca wartość logiczną, według praw linkowych tekstu przyporządkowanych zmiennym: {{Code|czy_nieoddzielone}} {{LinkPatrz|czy_nieoddzielone}} i {{Code|czy_wszystkie_linki}} {{LinkPatrz|czy_wszystkie_linki}}, to jeśli znalazł taki pierwszy link, to zwraca wartość prawdziwą, a jeśli nie, to fałszywą.
Jeśli zmienna: {{Code|czy_nieoddzielone}} {{LinkPatrz|czy_nieoddzielone}}, przyjmuje wartość fałszywą, to te rozważane obiekty, muszą być oddzielone pewnymi znakami, tutaj: {{Code|<nowiki>[%p%s%d%.]*</nowiki>}}, a jak nie spełniają tego warunku, to funkcja zwraca wartość fałszywą, w innym wypadku dalej liczy i sprawdza.
== {{Śródtytuł|p.CzyJestZarejestrowanyLinkWeObiektachOddzielonychZnakamiWePozaSekcjowychLiniowychPozycjach}}{{Code|p.CzyJestZarejestrowanyLinkWeObiektachOddzielonychZnakamiWePozaSekcjowychLiniowychPozycjach}} ==
Funkcja jest rozszerzeniem funkcji: {{LinkŚródtytuł|p.SzukanieLinkuWeSzablonieOrazDalszymNapisie}} {{Patrz|p.SzukanieLinkuWeSzablonieOrazDalszymNapisie}}, dla ustalonych dwóch ostatnich zmiennych, które przyjmują wartość {{Code|true}} (prawdziwą), o nazwach: {{Code|czy_nieoddzielone}} {{LinkPatrz|czy_nieoddzielone}} i {{Code|czy_wszystkie_linki}} {{LinkPatrz|czy_wszystkie_linki}}, dla tej funkcji, mamy już zmienne: {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}} i {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}, i {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, a funkcja w nagłówku je ustala, w wyniku działania w pętli.
Funkcja wyszukuje, od tyłu, w tekście, nabliższej pozycji typu: {{Code|SZABLON}}, {{Code|LINKW}} lub {{Code|LINKZ}}, w danej linii, i zwraca odpowiednio dwie wartości, pozycje wykrytą i wartość logiczną powodzenia, w innym przypadku, pozycję początkową z drugim parametrem fałszem.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyJestZarejestrowanyLinkWeObiektachOddzielonychZnakamiWePozaSekcjowychLiniowychPozycjach(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_spisowa,czy_bez_naglowka)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}. | komórka1 = tak
| 2 = {{PobierzŚródtekst|uchwyt=bez jakich parametrów standardowo}} | komórka2 = tak
| 3 = Dodatkowo funkcja przyjmuje dodatkowe wartości jako argumenty: | nagłówek3 = tak
| 4 = {{Code|liczba_spisowa}} {{Patrz|liczba_spisowa}} | _4 = Pozycja wyszukiwania początkowa.
}}
Funkcja wyszukuje najbliższą linię od tyłu z obiektami typu: {{Code|SZABLON}}, {{Code|LINKW}} i {{Code|LINKZ}}.
=== Parametry zwracane ===
; Pierwszy parametr{{dk}}
* Pozycja, w którym taką pozycję określoną przez funkcję znaleziono, drugi parametr wtedy przyjmuje prawdę, jeśli nie znaleziono takiej pozycji, to ta pozycja przyjmuje wartość początkową, a drugi parametr staje się fałszem,
; Drugi parametr{{dk}}
* Czy elementy są oddzielone od siebie pewnymi znakami, czyli czy kolejne obiekty spełniają pewną relację, kiedy któryś kolejny obiekt jest linkiem, wtedy zwraca w drugim parametrze prawdę, w przeciwnym wypadku, nie wykryto takich odpowiednich linków, według wspomnianej funkcji, wtedy zwracany ten parametr będzie fałszem,
* Funkcją dokonuje okrążeń peli aż do wyczerpania zasobów, też odpowiadającej fałszowi, lub do wykrycia tych pewnych danych.
=== Początkowa kolejność wykonywania kodu ===
Funkcja wyszukuje kolejne linie przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, wykorzystując, że tekst jest zakodowany, i znajduje one przy pomocy wyrażenia regularnego generowanego przez: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}, na podstawie kodu, którego fragment jest napisany tutaj:
<syntaxhighlight lang="lua">
local liczba_spisu=liczba_spisowa;
local szablonowe_modul=require("Module:Szablonowe");
---- Ustalenie wzoru kodowania, czyli jest to dowolny kod;
local szablon_normy_kodowania_szablonu=szablonowe_modul.NormaWzoruKodowaniaTekstu()
while(true)do
---- Wyszukuje dowolną linię według wyrażenia regularnego podanego w kodzie, zawartą całkowicie w linii;
local liczba_linki_nierozdzialowe_szablonu,_,przed_tekst,obiekt_szablon,kod_szablon,dalszy_tekst=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"[^%S\n]*([^\n]-)[^%S\n]*"..szablon_normy_kodowania_szablonu.."([^\n]*)",liczba_spisu,(not czy_bez_naglowka) and liczba_start_rozdzial or 1,true);
</syntaxhighlight>
=== Sprawdzenie poprzez instrukcję warunkową ===
Fukcja sprawdza, czy dokonano sprawdzenia, jeśli pozytywnie ono przeszło, to musi istnieć zmienna: {{Code|liczba_linki_nierozdzialowe_szablonu}} {{Patrz|liczba_linki_nierozdzialowe_szablonu}}, oraz musi być spełniona alternatywa dwóch warunków: to {{Code|przed_tekst}} {{Patrz|przed_tekst}}, musi być puste lub ma spełniać warunek według wzoru: {{Code|<nowiki>^[%p%s%d%.]*$</nowiki>}}.
=== Kolejne dalsze kroki ===
* Jeżeli funkcja nie dopasowała kodu: {{Code|obiekt_szablon}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}}, do wartości: {{Code|SZABLON}}, {{Code|LINKW}} i {{Code|LINKZ}}, to działa w pętli aż dopasuje je, aż do zakończenia zasobu danych dostępnych w tekście: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}, jeżeli nie mogła by tego zrobić.
* A jeśli je dopasowała, to sprawdza, czy te kody są odpowiednimi obiektami, ewentualnie oddzielonych od siebie znakami {{Code|<nowiki>[%p%s%d%.]*</nowiki>}}, poprzez sprawdzanie funkcją wspomnianą w nagłówku, czyli: {{LinkPatrz|p.SzukanieLinkuWeSzablonieOrazDalszymNapisie}}.
=== Zwracane wartości funkcji ===
Funkcja ma dwa tryby zwracania wartości. Przypadek sukcesu, gdy znaleziono taki link, w innych przypadkach zwracany jest wynik w przypadku niepowidzenia.
==== Przypadek sukcesu ====
Jeśli ta funkcja {{LinkPatrz|p.SzukanieLinkuWeSzablonieOrazDalszymNapisie}} zwróci wartość prawdziwą, to zwrócone zostaną parametry:
<syntaxhighlight lang="lua">
return liczba_linki_nierozdzialowe_szablonu,true;
</syntaxhighlight>
==== Sytuacja niepowodzenia znalezienia takiego linku w linii w tekście ====
W innych przypadkach, jeżeli takiego dopasowania nie znalazła, to zwróci ona szereg wartości:
<syntaxhighlight lang="lua">
return liczba_spisowa,false;
</syntaxhighlight>
W tym przypadku wartość {{Code|liczba_spisowa}} {{LinkPatrz|liczba_spisowa}}, to nic innego jak ostatni argument naszej funkcji, czyli w przypadku niepowodzenia dopasowania, zwracana jest wartość ta początkowa, z drugą wartością, że niezaleziono poszukiwanego obiektu.
== {{Śródtytuł|p.SzukanieSekcjiLinkowychLiniowychZakresowych}}{{Code|p.SzukanieSekcjiLinkowychLiniowychZakresowych}} ==
Funkcja wyszukująca najbliższego rozdziału zerowego przy pomocy funkcji: {{LinkŚródtytuł|p.SzukanieSekcjiLinkowychLiniowych}} {{Patrz|p.SzukanieSekcjiLinkowychLiniowych}}, co najwyżej przed linkami, ale przed pozycją: {{Code|liczba_przed_rozdzialem}} {{LinkPatrz|liczba_przed_rozdzialem}}, a jeśli nie ma tam referencji, i takich nagłówków, to jest zwracana wartość początkowa szukania według wzoru, z tą samą wartością, co poprzednio. Druga wartość jest wtedy zrzucana jako {{Code|true}}.
Ewentualnie za pewnym rozdziałem dodatnim: {{Code|liczba_start_naglowek_przed}} {{LinkPatrz|liczba_start_naglowek_przed}}, ale przed znakiem o numerze: {{Code|liczba_start_sugerowane}} {{LinkPatrz|liczba_start_sugerowane}}, jeśli istnieje, pod warunkiem, że nie zwrócono drugiej wartości {{Code|true}}, z pierwszą jakąś wartością.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.SzukanieSekcjiLinkowychLiniowychZakresowych(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,liczba_start_rozdzial,liczba_pierwszy_rozdzialowy_artykul,liczba_przed_rozdzialem,liczba_start_naglowek_przed,czy_bez_naglowka,czy_dalej_rozdzial,czy_znajdz)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = Funkcja ma takie same parametry, i to samo znaczą, jak w punkcie: {{LinkZobaczTeż|parametry-p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych}}. | komórka1 = tak
| 2 = {{PobierzŚródtekst|uchwyt=bez jakich parametrów standardowo}} | komórka2 = tak
| 3 = Dodatkowo funkcja przyjmuje parametry: | nagłówek3 = tak
| 4 = {{Code|liczba_pierwszy_rozdzialowy_artykul}} | _4 = Jak w: {{LinkPatrz|liczba_pierwszy_rozdzialowy_artykul}}. Jak powiedziano według: {{LinkZobaczTeż|liczba_pierwszy_rozdzialowy_artykul}}.
| 5 = {{Code|liczba_przed_rozdzialem}} {{Patrz|liczba_przed_rozdzialem}} | _5 = Numer znaku, od którego ma wyszukiwać rozdział zerowy od tyłu przez: {{LinkPatrz|p.SzukanieSekcjiLinkowychLiniowych}}. To {{ZobaczTeż|liczba_start_naglowek}} jest nad, spisem treści, lub jakimś najbliższym rozdziałem, w stosunku do linku.
| 6 = {{Code|liczba_start_naglowek_przed}} {{Patrz|liczba_start_naglowek_przed}} | _6 = Numer znaku, jeśli ta zmienna istnieje, w przypadku, nie wykrycia rozdziału zerowego spisu treści przez funkcję: {{LinkPatrz|p.SzukanieSekcjiLinkowychLiniowych}}, lub prawdziwości zmiennej: {{Code|czy_znajdz}} {{LinkPatrz|czy_znajdz}}, to za nim (pod) szukany jest rozdział zerowy w cudzysłowach, ale nie przed (nad).
| 7 = {{Code|czy_dalej_rozdzial}} | _7 = Jak w: {{LinkPatrz|czy_dalej_rozdzial}}. Jak mówiono w: {{LinkZobaczTeż|czy_dalej_rozdzial}}.
| 8 = {{Code|czy_znajdz}} {{Patrz|czy_znajdz}} | _8 = Czy znaleziono jakiś link szablonowy, inteligentny, rodzaju: {{Code|SZABLON}}, albo link typu: {{Code|LINKW}}, lub {{Code|LINKZ}}, ale przed pozycją: {{LinkZobaczTeż|liczba_start_naglowek}}, jeśli taki nagłówek wyszukano.
}}
=== Opis funkcji sterującej ===
Funkcja, przy pomocy innej funkcji, tzn.: {{LinkPatrz|p.SzukanieSekcjiLinkowychLiniowych}}, wyszukuje rozdział zerowy przed pozycją: {{Code|liczba_przed_rozdzialem}} {{LinkPatrz|liczba_przed_rozdzialem}}, wtedy to jest rozdział spis, lub potwierdzająca, czy następna linia jest linią z artykułami, lub przy braku wyszukań, zwraca: {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, albo {{ZobaczTeż|liczba_pierwszy_rozdzialowy_artykul}} {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{LinkPatrz|liczba_pierwszy_rozdzialowy_artykul}}, w zależności od parametru {{ZobaczTeż|czy_dalej_rozdzial-wybieranie}}: {{Code|czy_dalej_rozdzial}} {{LinkPatrz|czy_dalej_rozdzial}}, albo przy wyszukaniu rozdziału dodatniego równaniowego, wtedy jest brana wartość zmiennej: {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, czyli w przypadku tej funkcji w nagłówku, jest to wartość zmiennej: {{Code|liczba_przed_rozdzialem}} {{LinkPatrz|liczba_przed_rozdzialem}}, lub koniec tego rozdziału, w zależności od tej samej zmiennej.
Funkcja zwraca wyniki, w postaci punktu w tekście wyszukania, a trzecia jej wartość jest, czy to jest rozdział zerowy.
Te wartości przez to zwracane są to:
<syntaxhighlight lang="lua">
local liczba_start_sugerowane,liczba_spac,czy_spis = ...
</syntaxhighlight>
Zwracane wartości to: {{Code|liczba_start_sugerowane}} {{Patrz|liczba_start_sugerowane}}, {{Code|liczba_spac}} {{LinkPatrz|liczba_spac}} i {{Code|czy_spis}} {{LinkPatrz|czy_spis}}.
=== Opis jej wyników ===
* Jeżeli to jest rozdział zerowy spisu treści, to funkcja zwraca, tą właśnie pozycję, i drugą wartość: {{Code|true}}.
* Przeciwnie, jeżeli nie ma żadnych linków, według zmiennej: {{Code|czy_znajdz}} {{LinkPatrz|czy_znajdz}}, inicjowanej przez funkcję: {{LinkŚródtytuł|p.CzyJestZarejestrowanyLinkWeObiektachOddzielonychZnakamiWePozaSekcjowychLiniowychPozycjach}}, tzn.: spisowych, czy inteligentnych, ale szablonowych, bądź typu: {{Code|LINKW}} i {{Code|LINKZ}}, wtedy jest zwracana wartość, to zrzucane jest: {{Code|liczba_przed_rozdzialem}} {{LinkPatrz|liczba_przed_rozdzialem}}, z tą samą drugą wartością.
* Jeśli jednak są takie linki, to sprawdzane jest, czy jest spełniony warunek:
<syntaxhighlight lang="lua">
if(liczba_start_sugerowane<liczba_start-liczba_spac)then
</syntaxhighlight>
* Jeśli ten warunek jest fałszywy, to zwracana jest wartość {{ZobaczTeż|warunek 1-liczba_start_sugerowane}}: {{Code|liczba_start_sugerowane}} {{LinkPatrz|liczba_start_sugerowane}}, z drugą wartością fałszywą.
* Jeśli jest odwrotnie, to sprawdzany jest prawdziwość instrukcji:
<syntaxhighlight lang="lua">
if((not liczba_start_naglowek_przed)or(liczba_start_sugerowane>liczba_start_naglowek_przed))then
</syntaxhighlight>
* Jeśli ten warunek jest fałszywy to zwracane jest to samo, co w: {{LinkZobaczTeż|warunek 1-liczba_start_sugerowane}}.
* Przeciwnie, szukany jest rozdział w cudzysłowach przed punktem w tekście: {{Code|liczba_start_sugerowane}} {{LinkPatrz|liczba_start_sugerowane}}. A jeśli on istnieje, i to jest: {{Code|liczba_start_nowa}} {{Patrz|liczba_start_nowa}}, to sprawdzane jest, czy zachodzi:
<syntaxhighlight lang="lua">
if(liczba_start_nowa)then
if((not liczba_start_naglowek_przed)or(liczba_start_nowa>liczba_start_naglowek_przed))then
</syntaxhighlight>
Wtedy jest zwracana jest wartość: {{Code|liczba_start_nowa}} {{LinkPatrz|liczba_start_nowa}}, z drugą wartością fałszywą.
* A jeśli ten warunek nie jest spełniony, to zwracane jest: {{Code|liczba_przed_rozdzialem}} {{LinkPatrz|liczba_przed_rozdzialem}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
jsdipnntfi888sdonig1pe69syzwu5u
Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom VI
4
63921
560598
560404
2026-11-04T10:21:48Z
Persino
2851
560598
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.PoliczKoniecZakodowanegoTekstuArtykularnego}}{{Code|p.PoliczKoniecZakodowanegoTekstuArtykularnego}} ==
Funkcja liczy koniec zakodowanego tekstu artykułu zakodowanego: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}, aby z niego wydzielić właściwy spis treści, za pomocą początku i tego końca tutaj policzonego.
Funkcja to liczy na podstawie parametru: {{Code|liczba_obiekt_koniec}} {{LinkPatrz|liczba_obiekt_koniec}}, która jest według opisu, pozycją listy, składającej się ze znaków początkowych: {{Code|<nowiki>[%*:#;<>]</nowiki>}}, lub której twór szablonowy, ale nie zawsze szablon, może też to być twór typu: {{Code|LINKW}}, bądź: {{Code|LINKZ}}, takie coś musi znajdować się na początku linii, ale z tych linii są wybierane linie z artykułami, policzonej w pętli przed wywołaniem tej funkcji.
Co wtedy w tej funkcji wyszukujemy niepustą linie nielistową pod spodem tego tekstu pod pozycją wskazywaną w tej zmiennej. Co następnie w ogólnym kodzie nadrzędnym wywołanie tej funkcji powoduje przerwanie pętli, bo już taki koniec znaleziono. Tym końcem jest: {{Code|liczba_koniec}} {{LinkPatrz|liczba_koniec}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PoliczKoniecZakodowanegoTekstuArtykularnego(tekst_rozwiniety_calego_artykulu,liczba_obiekt_koniec)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst_rozwiniety_calego_artykulu}} | _1 = Jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}. To jest tekst zakodowanego artykułu spisu treści.
| 2 = {{Code|liczba_obiekt_koniec}} {{Patrz|liczba_obiekt_koniec}} | _2 = Koniec linii najbliższa końcowi punktu, w tekście, z linią z linkami artykularnymi książki.
}}
Funkcja zwraca wynik:
<syntaxhighlight lang="lua">
return liczba_koniec;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów zwracanych:
| 1 = {{Code|liczba_koniec}} {{Patrz|liczba_koniec}} | _1 = Znaleziony taki koniec tekstu: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}, w wydzielaniu z niego właściwego spisu treści.
}}
== {{Śródtytuł|p.KoniecStronyLicencja}}{{Code|p.KoniecStronyLicencja}} ==
Funkcja wyszukuje, od tyłu, szablon licencji: {{s|Licencja}}, i zwraca jego koniec dopasowania, jak i jego kod w postaci zakodowanego tekstu. Funkcja wyszukuje od końca tekstu do pewnego momentu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KoniecStronyLicencja(tekst_rozwiniety_calego_artykulu,liczba_start,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst_rozwiniety_calego_artykulu}} | _1 = Jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}.
| 2 = {{Code|liczba_start}} | _2 = Jak w: {{LinkPatrz|liczba_start|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}, czyli do jakiego momentu ma wyszukiwać.
| 3 = {{Code|pelna_nazwa_spisu_tresci}} | _3 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci|StronicowyParser/AnalizaSpisuRzeczy}}.
| 4 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _4 = Jak w: {{LinkPatrz|pelna_nazwa_spisu_tresci_szablonowa|StronicowyParser/AnalizaSpisuRzeczy}}.
| 5 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _5 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}.
| 6 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _6 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/AnalizaSpisuRzeczy}}.
}}
Funkcja wykorzystuje wzór zdefiniowany przy pomocy funkcji: {{Code|{{sr|#p.NormaWzoruKodowaniaTekstu|p=Szablonowe}}}}, dla obiektu typu: {{Code|SZABLON}}, dla dowolnego numeru, jest to wzor, dzięki któremu wyszukujemy szablon, lub twory szablonowe tym wzorem, których treść: {{Code|szablon}} {{LinkPatrz|szablon|StronicowyParser/AnalizaSpisuRzeczy}}, wyznaczamy z {{Code|obiekt}}, dla tego typu obiektu, i {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}} z {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}.
Wyszukujemy kolejne te twory szablonowe przy pomocy: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoru|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, i wybieramy z tego same tylko szablony we specjalnej funkcji, wśród tych znajdujemy ich nazwy przy pomocy niej, jak i inne nieważne parametry, sprawdzając, czy to jest nazwa szablonu licencji.
Funkcja wyszukuje, aż do wyczerpania zasobów tekstu, lub po zatrzymaniu tego na pierwszym wykrytym tak takim szablonie. Funkcja nie potrafi przekroczyć zakresu liczenia, i znajduje tą nazwę, a więc tego szablonu.
Kod wyszukanego szablonu zakodowany jest tworzony dzięki: {{Code|{{sr|#p.NormaKoduKodowaniaTekstu|p=Szablonowe}}}} {{Patrz|norma kodu}}, z uzyskanego z pętli dla obiektu: {{Code|obiekt}} {{Code|{{=}}}} {{Code|SZABLON}}{{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}}, jego numeru: {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}, co na podstawie tej wspomnianej funkcji uzyskujemy je, jako szablonowy kod bazy zakodowanego tekstu.
Jak funkcja znalazła ten szablon, to zwraca dwie wartości, napisane we wstępie po nagłówku według {{Patrz|ogólne zwracane parametry-p.KoniecStronyLicencja}}:
<syntaxhighlight lang="lua">
return liczba_koniec_szablon,norma_kodu;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów zwracanych:
| 1 = {{Code|liczba_koniec_szablon}} | _1 = Numer znaku wyszukanego kodu szablonu licencji: {{s|Licencja}}.
| 2 = {{Code|norma_kodu}} | _2 = Norma kodu tego według z: {{LinkPatrz|norma kodu}}, tego wyszukanego szablonu.
}}
Która jest odpowiednikiem sekwencji: {{LinkPatrz|ogólne zwracane parametry-p.KoniecStronyLicencja}}, tylko dla szablonów w specjalnej funkcji wybierającej typy szablonowe tylko szablonów, napisaną w niej, a właściwie są wybierane tylko jednego typu szablony z tablicy, o definicji:
{{Tbl|uchwyt=p.szablony_licencji|tekst=
<syntaxhighlight lang="lua">
p.szablony_licencji={
["Licencja"]=true,
};
</syntaxhighlight>}}
A kod według czego jest to robione jest:
<syntaxhighlight lang="lua">
---- Funkcja wśród nazw szablonów, wybiera tylko jedną nazwę: Licencja, i na podstawie tego zwraca dane, lub ta specjalna funkcja nic nie zwraca, ale się zatrzymuje, i dlatego pętla nadrzedna wie, ze ma dalej wyszukiwać kolejne takie twory, a więc i szablony;
if(stronicowyparser_obiekty_modul.szablony_licencji[nazwa_szablonu])then
return liczba_koniec_szablon,szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod);
end;
</syntaxhighlight>
Widzimy, że w niej są tylko wybierane szablony o nazwie dedykowane tabelą: {{LinkTbl|p.szablony_licencji}}, na podstawie uzyskanej nazwy szablonu.
== {{Śródtytuł|p.KorygowanieTekstuSpisuRzeczy}}{{Code|p.KorygowanieTekstuSpisuRzeczy}} ==
Funkcja do korygowania tekstu {{Code|tekst}} {{LinkPatrz|tekst}} spisu treści z wydzielonego z: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}, poza tą funkcją, za pomocą jego początku i końca punktu w tym początkowym tekście.
Ten tekst, jest korygowany przez tą funkcję, z elementami bibliografii (a te pierwsze tylko linki z bieżącej książki są zostawiane, a dalsze są też zostawiane) i literatury (a tutaj tak samo jak z pierwszymi, z artykułami bieżącej książki, a dalsze są usuwane). W przypadku bibliografii, tylko szablony licencji i przypisów, czyli te elementy {{ZobaczTeż|specjalne szablony}} są zostawiane, a dalsze są usuwane, w przypadku literatury szablony wszystkie są usuwane. Pozostałe części, które z tych elementów zostają przez tą funkcję usunięte, czyli zastąpione zostają ciągiem pustym, czyli są usunięte inaczej mówiąc.
Elementy bibliografii i literatury mieszczą się w pewnych zdefiniowanym osobnych rozdziałach, które znajdują się w spisie książki, i są to pewne napisy wprowadzenia tekstu z tymi osobnymi tekstami rozdziałów, czego one dotyczą, co na podstawie tego wiemy, co w nich usuwamy, co zostawiamy, w ich, a te teksty, to właśnie modyfikujemy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KorygowanieTekstuSpisuRzeczy(tekst,tab_wzor,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} {{Patrz|tekst}} | _1 = część wydzielonego tekstu z całości: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}},
| 2 = {{Code|tab_wzor}} {{Patrz|tab_wzor}} | _2 = Tablica dwuwymiarowa, składająca się ze wzoru rozdziału i drugiej wartości logicznej: {{Code|true/false}}, czy ma dalsze linki i szablony (tutaj szablony: {{LinkZobaczTeż|specjalne szablony}}) zostawiać, a które już nie, w wydzielonym tekście: {{Code|tekst}} {{LinkPatrz|tekst}},
| 3 = Parametry z sekcji: {{LinkZobaczTeż|Parametry zakodowanego spisu|StronicowyParser/AnalizaSpisuRzeczy}}. | komórka3 = tak
}}
{{OpisParametrów
| tytuł = Wartość zwracana:
| 1 = Jest to zmodyfikowana wartość tekstu: {{Code|tekst}} {{LinkPatrz|tekst}}, wydzielonego poza tą funkcją z tekstu artykułu zakodowanego, z elementami biliografii lub literatury, w którym usuwaliśmy pewne elementy. | komórka1 = tak
}}
Ten wzór do wydzielania tekstu z drugą wartością logiczną, jest w tablicy, dla: {{Code|{{sr|#p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe|p=StronicowyParser/obiekty}}}}, a przytaczamy tutaj jego definicję:
{{Tbl|uchwyt=p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe|tekst=
<syntaxhighlight lang="lua">
p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe={
[1]={"[ _\t]*'*[ _\t]*[Ll][Ii][Tt][Ee][Rr][Aa][Tt][Uu][Rr][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",false,},
[2]={"[ _\t]*'*[ _\t]*[Bb][Ii][Bb][Ll][Ii][Oo][Gg][Rr][Aa][Ff][Ii][Aa][ _\t]*'*[ _\t]*:?[ _\t]*'*[ _\t]*",true,},
};
</syntaxhighlight>}}
Poszczególne elementy tej tablicy, tzn. elementy numerowane, są to pojedyncze tablice o nazwie: {{Code|tab_wzor}} {{LinkPatrz|tab_wzor}}, wsadzane jako drugi parametr naszej funkcji.
Przed korygowaniem tekstu spisu treści, szablon korzysta z funkcji do znajdowania odpowiedniego nagłówka dodatniego, niezależnie jakiego, od pierwszej pozycji tego wydzielonego tekstu, zdefiniowanego w: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}} {{Patrz|nagłówek_dodatni}}, a jeżeli tam jego nie znalazł, to je szuka w zerowych rozdziałach według: {{LinkŚródtytuł|p.ZnajdowanieZerowegoNapisuWprowadzeniaTekstu|StronicowyParser/AnalizaSpisuRzeczy/Tom III}} {{Patrz|nagłówek_zerowy}}.
Jak znalazł dane tych nagłówków, za pomocą tego pierwszego, jak nie znalazł, to według drugiego sposobu, to szuka następnych nagłówków, po końcu wyszukania udanego wcześniejszego, jeżeli znalazł według tego pierwszego, to szuka parametrów według nagłówka podobnego, czyli też dodatniego, ale dowolnego, a jak znalazł to zerowe, zamiast dodatniego, to szuka nagłówka końcowego na dwa możliwe sposoby, sposób pierwszy: {{LinkPatrz|nagłówek_dodatni}} - nagłówek dodatni, i {{LinkPatrz|nagłówek_zerowy}} - nagłówek zerowy, i znajduje ten wcześniejszy, i na podstawie tego mamy treści, z którego możemy wydzielić tekst przed tym napisem wprowadzenia tekstu i po, jak i to pomiędzy.
To pomiędzy, czyli tekst, który dotyczy rozdziału: '''Bibliografia''' lub '''Literatura''', modyfikujemy ich tekst rozdziału, a na samym końcu po korekcji łączymy te trzy tekstu w jeden wielki tekst i zwracamy przez tą funkcję.
W nagłówku '''Bibliografia''' funkcja uwzględnia szablony: przypisów jak: {{s|Przypisy}}, licencji jak: {{s|Licencja}}, definicje tych tabel są:
* Szablonów przypisów, która uwzględnia wiele rodzajów przypisów różnego rodzaju, jak przypisy bibliograficzne (szablon: {{s|Przypisy}} i {{s|Przypisy-lista}}) i rzeczowe (szablon: {{s|Uwagi}}), są one zdefiniowane przy pomocy modułu {{m|Przypisy}}, tzn.:
{{Tbl|uchwyt=p.szablony_przypisowe|tekst=
<syntaxhighlight lang="lua">
p.szablony_przypisowe={
["Przypisy"]=true,
["Uwagi"]=true,
["Przypisy-lista"]=true,
};
</syntaxhighlight>}}
* Szablonów licencji, która uwzględnia na razie tylko jeden rodzajów licencji, są one zdefiniowane przy pomocy modułu: {{Code|{{m|Licencja}}}}, tzn.: {{Code|{{sr|#p.szablony_licencji|p=StronicowyParser/obiekty}}}} {{LinkTbl|p.szablony_licencji}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
2769k8jagaufoyxodqnq30bnzs3bija
Wikibooks:Moduły/StronicowyParser/AnalizaSpisuRzeczy/Tom VII
4
63922
560599
560406
2026-11-04T10:26:59Z
Persino
2851
560599
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.AnalizaSpisuRzeczy}}{{Code|p.AnalizaSpisuRzeczy}} ==
Funkcja służy z zakodowanego i z przetworzonego tekstu artykułu danego spisu, wydzielić z niej właściwy fragment, który jest tym odpowiednim spisem treści.
Funkcja uwzględnia w swojej budowie, że on ma w sobie zawierać również szablony przypisów: jak: {{s|Przypisy}}, i licencji jak: {{s|Licencja}}, robi to za pomocą odpowiednich funkcji korekcji (korygowania) wydzielonego spisu.
=== Parametry funkcji ===
Przedstawimy tutaj fragment definicji tej funkcji, a także opis odnośnikowy jej parametrów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaSpisuRzeczy(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst_rozwiniety_calego_artykulu}} | _1 = Jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}.
| 2 = Parametry z sekcji: {{LinkZobaczTeż|Parametry zakodowanego spisu|StronicowyParser/AnalizaSpisuRzeczy}}. | komórka2 = tak
}}
=== Parametry zwracane ===
* Funkcja zwraca wydzielony tekst spis treści z tekstu zakodowanego i przetworzonego artykułu (spisu książki - podręcznika).
<syntaxhighlight lang="lua">
--- Licencja ----
local licencja_koniec,szablon_licencja=p.KoniecStronyLicencja(tekst_rozwiniety_calego_artykulu,liczba_koniec,pelna_nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony);
if((licencja_koniec)and(licencja_koniec>=liczba_koniec))then
liczba_koniec=licencja_koniec;
end;
---- Wydzielenie właściwego spisu treści z całej treści zakodowanego artykułu spisu;
local tekst=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_start,liczba_koniec);
---- Korygowanie danych wydzielonego spisu według powyższej metody, korekcja odbywa się po wszystkich możliwościach tabeli;
for _,tab_wzor in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe)do
---- Kolejne iteracje korekcji odpowiedniego spisu, kolejnymi krokami według poniższej funkcji;
tekst=p.KorygowanieTekstuSpisuRzeczy(tekst,tab_wzor,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);
end;
---- Zwracanie wydzielonego i skorygowanego spisu treści;
return tekst;
</syntaxhighlight>
=== Wydzielanie właściwego spisu treści, liczenie punktów granicznych ===
Za pomocą tych dwóch liczb granicznych, punktu startowego i końcowego, będziemy wydzielać właściwy tekst spisu treści z całości zakodowanego spisu treści, ale najpierw te dwie liczby musimy wyznaczyć za pomocą pewnych ustalonych procedur. Będziemy to robić za pomocą funkcji w module: {{Code|{{ld2|StronicowyParser/AnalizaSpisuRzeczy}}}}.
==== Punkt startowy ====
Będziemy tu znajdować punkt startowy, przed którym tekst zostanie ucięty w wyniku końcowym w wyniku zwracania wartości przez tę funkcję.
===== Znajdowanie pierwszego artykułu książki =====
Pierwszy kod szablonowy według bazy kodów znajdujemy według następującego źródła:
<syntaxhighlight lang="lua">
---- Według bazy kodów, to reprezentuje, to wyrażenie regularne, dowolny kod bazy modułu: Szablonowe;
local szablon_normy_kodowania_szablonu=szablonowe_modul.NormaWzoruKodowaniaTekstu();
---- Wyrażenie regularne wyszukiwania, względem warunków przechwytywania:
---- lista_szablon,
---- odstepy_poczatku_rozdzialu,
---- przerwa_szablon,
---- obiekt_szablon,
---- kod_szablon,
---- dalszy_tekst;
local wzor_szablonu_list="([%*:#;<>]*)([^%S\n]*)([^\n]-)[^%S\n]*[\'\"]*[^%S\n]*"..szablon_normy_kodowania_szablonu.."[^%S\n]*[\'\"]*[^%S\n]*([^\n]-)[^%S\n]*";
---- Uruchomienie nieskończonej pętli wyszukiwania, która wewnętrznie zostanie zakończona;
while(true)do
---- szukanie elementów, według wyrażenia regularnego powyższego, tzn. początku i końca jego wyszukiwania, powyższych elementów przechwyconych przez tę funkcję;
local liczba_start_szablon,liczba_koniec_szablon,lista_szablon,odstepy_poczatku_rozdzialu,przerwa_szablon,obiekt_szablon,kod_szablon,dalszy_tekst=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,wzor_szablonu_list,liczba_obiekt_koniec,nil,false);
</syntaxhighlight>
Głównym wzorem wyszukiwania jest:
{{OpisParametrów
| 1 = {{Code|szablon_normy_kodowania_szablonu}} {{Patrz|szablon_normy_kodowania_szablonu}} | _1 = Główny wzór wyszukiwania kodów bazy kodowania tekstu, który jest potrzebny do konstrukcji większych wzorów bardziej specjalistycznych, w tym przypadku poszczególnych linii:
<syntaxhighlight lang="lua">
local szablonowe_modul=require("Module:Szablonowe");
local szablon_normy_kodowania_szablonu=szablonowe_modul.NormaWzoruKodowaniaTekstu();
</syntaxhighlight>
}}
Szukamy kolejne linie, używając funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}, mając wyrażenie regularne powyższe, szukamy, co najmniej pozycji list, a co najwyżej rozdziałów dodatnich, lub nawet zwykłej linii, oczywiście z jakimś kodem. Szukane elementy, numerując je odpowiednio, to są:
{{OpisParametrów
| 1 = {{Code|liczba_start_szablon}} {{Patrz|liczba_start_szablon}} | _1 = Początek linii wyszukanej z obietem kodu kodowania, w tymm również elementu z linkiem, jeżeli tak jakąś istnieje.
| 2 = {{Code|liczba_koniec_szablon}} {{Patrz|liczba_koniec_szablon}} | _2 = Koniec linii wyszukanej z obietem kodu kodowania, w tymm również elementu z linkiem, jeżeli tak jakąś istnieje.
| 3 = {{Code|lista_szablon}} {{Patrz|lista_szablon}} | _3 = Odpowiednie tą są znaki pozycji listy, lub nie ma ich wcale. Te znaki pozycji listy są: {{Code|<nowiki>[%*:#;<>]*</nowiki>}}. Może być ich liczba zero lub więcej.
| 4 = {{Code|odstepy_poczatku_rozdzialu}} {{Patrz|odstepy_poczatku_rozdzialu}} | _4 = Jest to ciąg odstępów {{Code|<nowiki>[^%S]*</nowiki>}} (czyli inaczej: {{Code|<nowiki>%s*</nowiki>}}) bez znaku nowej linii {{Code|\n}}.
| 5 = {{Code|przerwa_szablon}} {{Patrz|przerwa_szablon}} | _5 = Elementy te i {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, gdzie mogą znajdować się tam elementy rozdziału dodatniego przy pustych wykrytych łańcuchach: {{Code|lista_szablon}} {{LinkPatrz|lista_szablon}}, i {{Code|odstepy_poczatku_rozdzialu}} {{LinkPatrz|odstepy_poczatku_rozdzialu}}, to tam również mogą znajdować się znaki, typu: {{Code|<}} lub {{Code|>}}, oprócz tego.
| 6 = {{Code|obiekt_szablon}} {{Patrz|obiekt_szablon}} | _6 = Jest to typ obiektu, który znajdujemy w kodzie, akceptowalne rodzaje, to {{ZobaczTeż|akceptowalne kody}}: {{Code|LINKW}} - linki wewnętrzne, {{Code|LINKZ}} - linki zewnętrzne, i {{Code|SZABLON}} - kody szablonowe, w tym linki inteligentne i inne linki, a nieakceptowalnymi kodami są to różnego rodzaju nagłówki wraz z istniejącymi zawartościami, ale też {{Code|SZABLON}} - inne niż te linki, a może {{Code|ZNACZNIK}}.
| 7 = {{Code|kod_szablon}} {{Patrz|kod_szablon}} | _7 = Numer kodu o typie: {{Code|obiekt_szablon}} {{LinkPatrz|obiekt_szablon}}, który może być przetłumaczony na liczbę w wyniku transformacji przez funkcję: {{LzLua|tonumber}}, zamieniającą łańcuch znakowy na liczbę naturalną dodatnią.
| 8 = {{Code|dalszy_tekst}} {{Patrz|dalszy_tekst}} | _8 = Jest to dalszy kod, za pierwszym takim zauważalnym kodzie bazy kodów tekstu.
}}
====== Wyszukiwanie kolejnych możliwości linii z kodami szablonowymi bazy kodów, znając powyższe zmienne ======
Przy możliwych akceptowalnych kodach typu: {{LinkZobaczTeż|akceptowalne kody}}, będziemy znajdować kolejne możliwości:
* Pozycje akceptowalne przez funkcje listy:
** Pozycje dowolnej listy przy niepustym łańcuchu znakowym: {{Code|lista_szablon}} {{LinkPatrz|lista_szablon}}, i pustym: {{Code|przerwa_szablon}} {{LinkPatrz|przerwa_szablon}}, co oznacza jego znaki, czyli to, że za nim bezpośrednio znajduje się kod bazy kodowania, np. linku, ale akceptowalnego elementu,
** Pozycje listy, gdzie: {{Code|lista_szablon}} {{LinkPatrz|lista_szablon}}, nie zaczyna się od dwukropka {{Code|:}},
** Dowolna lista dwukropkowa, czyli: {{Code|lista_szablon}} {{LinkPatrz|lista_szablon}}, zaczyna się na dwukropek, a: {{Code|przerwa_szablon}} {{LinkPatrz|przerwa_szablon}}, to mogą znaki jeden z: {{Code|<}} i {{Code|>}},
* Początkowe znaki linii dalszego tekstu: {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, tzn: nie jest: {{Code|>}}, gdy: {{Code|lista_szablon}} {{LinkPatrz|lista_szablon}}, i {{Code|przerwa_szablon}} {{LinkPatrz|przerwa_szablon}}, są puste,
* Dowolny rozdział równaniowy dodatni, gdy zmienne: {{Code|lista_szablon}} {{LinkPatrz|lista_szablon}}, i {{Code|odstepy_poczatku_rozdzialu}} {{LinkPatrz|odstepy_poczatku_rozdzialu}}, są puste, a {{Code|przerwa_szablon}} {{LinkPatrz|przerwa_szablon}}, zaczyna się od równa się, a: {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, kończy się też na to.
; Gdy nie znaleziono elementów według powyższych punktów, tzn. szukamy według{{dk}}
* Gdy linii nie można było przydzielić, do któryś z powyższych punktów, to badamy, czy: {{Code|obiekt_szablon}} {{LinkPatrz|obiekt_szablon}}, i {{Code|kod_szablon}} {{LinkPatrz|kod_szablon}} - przetłumaczony na numer, czy w nim ewentualnie da się znaleźć kody lnków, jeżeli one są szablonami, czy znacznikami, centrowania, lub sztucznymi nagłówkami, a nawet nagłówkami znacznikowymi,
* Szukamy w ich zawartości elementów, i tzn. bezpośrednio zmiennych kodowych linków {{ZobaczTeż|inne_kody}}: {{Code|szablon}} {{Patrz|szablon}}, {{Code|obiekt_szablon}} {{LinkPatrz|obiekt_szablon}}, {{Code|kod_szablon}} {{LinkPatrz|kod_szablon}}, i {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, przy pomocy funkcji: {{LinkŚródtytuł|p.SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}.
Ta funkcja zwraca dane jako:
<syntaxhighlight lang="lua">
szablon,obiekt_szablon,kod_szablon,dalszy_tekst;
</syntaxhighlight>
{{OpisParametrów
| 1 = {{Code|szablon}} {{LinkPatrz|szablon}} | _1 = Wnętrze kodu w bazie kodów tekstu zakodowanego.
| 2 = {{Code|obiekt_szablon}} {{LinkPatrz|obiekt_szablon}} | _2 = Typ obiektu zakodowanego kodu.
| 3 = {{Code|kod_szablon}} {{LinkPatrz|kod_szablon}} | _3 = Numer danego typu obiektu, ale w postaci ciągów znakowych, a nie liczby.
| 4 = {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}} | _4 = Dalszy wyszukany tekst po wykrytym linku w jakieś postaci, w jakimś większym kodzie.
}}
Co uzyskujemy z tych danych początkowych rozważania danego kodu:
<syntaxhighlight lang="lua">
local obiekt=obiekt_szablon;local kod=tonumber(kod_szablon) or nil;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Wytłumaczenie:
| 1 = {{Code|obiekt}} {{Patrz|obiekt}} | _1 = Obiekt pochodzący od zmiennej: {{Code|obiekt_szablon}} {{LinkPatrz|obiekt_szablon}}.
| 2 = {{Code|kod}} {{Patrz|kod}} | _2 = Wersja przetransformowana od liczby z: {{Code|kod_szablon}} {{LinkPatrz|kod_szablon}}.
}}
* W ten sposób znaleźliśmy inne kody i dalszy jego tekst w postaci elementów podanych w: {{LinkZobaczTeż|inne_kody}}.
Jeśli zmienna zawartości wnętrza kodu: {{Code|szablon}} {{LinkPatrz|szablon}}, istnieje wtedy, to znaleźliśmy punkt, który należy rozważyć, a nie pętlować dalej, a ż do zakończenia zasobu danych, przy kolejnych wyszukiwaniach.
===== Gdy znaleziono taki link zwykły, wewnętrzny lub zewnętrzny, albo szablonowy inteligentny, bądź spisowy =====
; Nadawanie zmiennym wartości{{dk}}
Nadawane są wartości dwom zmiennym w postaci kodu zawartego:
{{OpisParametrów
| 1 = {{Code|liczba_obiekt_koniec}} {{Patrz|liczba_obiekt_koniec}} | _1 = Tej zamiennej jest madawana wartość z: {{Code|liczba_koniec_szablon}} {{LinkPatrz|liczba_koniec_szablon}}:
<syntaxhighlight lang="lua">
liczba_obiekt_koniec=liczba_koniec_szablon;
</syntaxhighlight>
* Tej zmiennej nadajemy wartość w punkcie od razu po znalezieniu oobiektu z linią dla danego kodu.
| 2 = {{Code|liczba_obiekt_start}} {{Patrz|liczba_obiekt_start}} | _2 = Tej zamiennej jest madawana wartość z: {{Code|liczba_obiekt_start}} {{LinkPatrz|liczba_obiekt_start}}:
<syntaxhighlight lang="lua">
local liczba_obiekt_start=liczba_start_szablon;
</syntaxhighlight>
* Tej zmiennej nadajemy wartość w punkcie po znalezieniu oobiektu z linią dla danego kodu, ale jeszczze bardziej po stwierdzeniu, że nim jest: {{Code|LINKW}}, {{Code|LINKZ}} i {{Code|SZABLON}}.
}}
; Badanie tam zwartych linków{{dk}}
Po dojściu do instrukcji warunkowej,jeżeli znaleziono w kodzie w pewien sposób link: {{Code|LINKW}}, {{Code|LINKZ}} lub {{Code|SZABLON}} (inteligentny lub spisowy, ale szablonowy)
Gdy znaleziono taki link do artykułu: {{Code|LINKW}}, czy zewnętrzny: {{Code|LINKZ}}, a nawet inteligentny, bądź spisowy, ale szablonowy: {{Code|SZABLON}}, to funkcja sprawdza, jakie go typu linkiem on jest, robi to za pomocą funkcji: {{LinkŚródtytuł|p.SzukanieLinkuWeSzablonieOrazDalszymNapisie|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}.
Ta funkcja zwraca parametry:
<syntaxhighlight lang="lua">
local tak,czy_element_spisu,numer_rodzaju_artykulu,czy_podrecznik,czy_okladka;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis tych elementów wyjściowych:
| 1 = {{Code|tak}} | _1 = Czy znaleziono taki link szukany w funkcji wydzielania właściwego spisu treści, lub przyjmuje wartość odpowiadającą fałszywej.
| 2 = {{Code|czy_element_spisu}} | _2 = Czy to jest artykuł, czy strona w spisie treści, uważaną za niegłówną.
| 3 = {{Code|numer_rodzaju_artykulu}} | _3 = Numer typu artykułu linku spisu.
| 4 = {{Code|czy_podrecznik}} | _4 = Czy to jest artykuł podręcznika ksiązki, o właściwej nazwie.
| 5 = {{Code|czy_okladka}} | _5 = Czy to jest strona artykularna, ale nie artykuł, dozwolony (okładkowy nawet) książki (woluminu).
}}
Funkcja ta robi to przy pomocy obiektu {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}} i {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}, do sprawdzania, czy to jest artykułem linkiem dopuszczalnym książki, a jeżeli on nie jest linkiem, to jest sprawdzane: {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, czy w nim jednak to się znajduje, a jeśli już tu tak, to zwracany jest wynik z pierwszym parametrem prawdziwym, z dalszymi zmiennymi dotyczących stron, a jeśli nie znalazł tu tego, to tylko zrzuca pierwszy parametr odpowiadający wartości fałszywej.
; Policzone zmienne w tym punkcie przez funkcję na podstawie parametrów linkowych{{dk}}
{{OpisParametrów
| 1 = Funkcja liczy zmienną: {{Code|liczba_pierwszy_rozdzialowy_artykul}} {{Patrz|liczba_pierwszy_rozdzialowy_artykul}}, mówiącą, jaki jest pierwszy rozdziałowy artykuł, to może być artykuł linku wewnętrznego, ale też zewnętrznego. A właściwe i jest to jego pozycja początkowa, nie końcowa. | komórka1 = tak
| 2 = Generowana jest również zmienna: {{Code|liczba_nie_okladka_artykul}} {{Patrz|liczba_nie_okladka_artykul}} - pierwsza początkowa pozycja artykułu niebędącą artykułem okładką lub stroną niedozwolona. | komórka2 = tak
| 3 = Obliczana jest pozycja końcowa artykułu dozwolonego: {{Code|liczba_nie_okladka_artykul_koniec}} {{Patrz|liczba_nie_okladka_artykul_koniec}}. | komórka3 = tak
}}
W powyższych przypadkach, gdy nie znaleziono takiego artykułu, jako pierwszą taką pozycję, to te one przyjmują wartość nilową (nienadaną).
===== Obsługa linków nieokładkowych (dozwolonych) artykułów książki =====
Funkcja wchodzi do instrukcji warunkowej sprawdzającą jaki jest początek właściwego spisu treści, który jeśli owy znajdzie, to pętla szukania tego zostanie przerwana, oto ona:
<syntaxhighlight lang="lua">
if((czy_element_spisu)and(numer_rodzaju_artykulu==1)and(czy_podrecznik)and(not czy_okladka))then
</syntaxhighlight>
W przeciwnym wypadku jest pętla nieprzerywana, chyba, że skończą się dane, a ta {{ZobaczTeż|liczba_obiekt_koniec_poprz}} instrukcja:
<syntaxhighlight lang="lua">
liczba_obiekt_koniec_poprz=((czy_element_spisu)and(numer_rodzaju_artykulu<=2)) and liczba_obiekt_koniec or liczba_obiekt_koniec_poprz;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|liczba_obiekt_koniec_poprz}} {{Patrz|liczba_obiekt_koniec_poprz}} | _1 = Jest to poprzednia ostatnia pozycja artykułu z przestrzeni książkowej projektu polskiego {{NS|l=tak|w=tak|pk=d}}.
}}
====== Znajdowanie i nadawanie wartości, pewnym zmiennym,jako wartości początkowe liczenia pozycji początkowej (startowej) ======
Na samym początku są wyznaczane lub inicjowane zmienne:
; Liczone zmienne{{dk}}
{{OpisParametrów
| 1 = {{Code|liczba_obiekt_start_nowe}} {{Patrz|liczba_obiekt_start_nowe}} | _1 = Początek, pozycja znakowa w tekście artykułu spisu, nieokładkowego artykułu:
<syntaxhighlight lang="lua">
local liczba_obiekt_start_nowe=liczba_nie_okladka_artykul or liczba_obiekt_start;
</syntaxhighlight>
Jeśli nie ma zmiennej: {{Code|liczba_nie_okladka_artykul}} {{LinkPatrz|liczba_nie_okladka_artykul}}, to ustalamy ją ten parametr w ramce za pomocą: {{Code|liczba_obiekt_start}} {{LinkPatrz|liczba_obiekt_start}}.
| 2 = {{Code|liczba_obiekt_koniec_nowe}} {{Patrz|liczba_obiekt_koniec_nowe}} | _2 = Koniec, pozycja znakowa w tekście artykułu spisu, nieokładkowego artykułu:
<syntaxhighlight lang="lua">
local liczba_obiekt_koniec_nowe=liczba_nie_okladka_artykul_koniec or liczba_obiekt_koniec;
</syntaxhighlight>
Jeśli nie ma zmiennej: {{Code|liczba_nie_okladka_artykul_koniec}} {{LinkPatrz|liczba_nie_okladka_artykul}}, to ustalamy ją ten parametr w ramce za pomocą: {{Code|liczba_obiekt_start}} {{LinkPatrz|liczba_obiekt_koniec}}.
| 3 = {{Code|liczba_obiekt_start_nowe_temp}} {{Patrz|liczba_obiekt_start_nowe_temp}} | _3 = Jest to stara pozycja: {{Code|liczba_obiekt_start_nowe}} {{LinkPatrz|liczba_obiekt_start_nowe}}.
| 4 = {{Code|czy_ten_rozdzial}} {{Patrz|czy_ten_rozdzial}} | _4 = Zmienna pomocnicza:
<syntaxhighlight lang="lua">
local czy_ten_rozdzial=true;
</syntaxhighlight>
| 5 = {{Code|czy_bez_naglowka}} {{Patrz|czy_bez_naglowka}}| _5 = Zmienna pomocnicza:
<syntaxhighlight lang="lua">
czy_bez_naglowka=nil;
</syntaxhighlight>
}}
====== Znajdowanie nagłówków spisu treści dla danego artykułu podręcznika ======
Znajdujemy nagłówek spisu treści w spisie artykułu, typu: '''Spis treści''', czy: '''SPIS RZECZY''', i na podstawie tego pewne zmienne przy pomocy: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, wyszukujący różnego rodzaju nagłówki dodatnie, tzn.: {{LinkZobaczTeż|typy rozdziałów|StronicowyParser/Rozdziały}}, dzięki podfunkcji jej pomocniczej: {{LinkŚródtytuł|p.ParsowanieNapisuWprowadzeniaTekstuSpisuStron|StronicowyParser/AnalizaSpisuRzeczy/Tom III}}, która sprawdza, czy napis wprowadzenia tekstu jest nagłówkiem spisu treści różnie znormowanym i napisanym.
Funkcja generuje zmienne:
<syntaxhighlight lang="lua">
local liczba_spis_tresci_start,liczba_spis_tresci_koniec,spis_naglowka_dodatni_start,spis_naglowka_dodatni_stare_start,poziom_naglowka_start;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Wytłumaczenie zmiennych:
| 1 = {{Code|liczba_spis_tresci_start}} {{Patrz|liczba_spis_tresci_start}} | _1 = Pozycja początkowa napisu wprowadzenia tekstu rozdziału dodatniego.
| 2 = {{Code|liczba_spis_tresci_koniec}} {{Patrz|liczba_spis_tresci_koniec}} | _2 = Jak powyżej, tylko, że końcowa.
| 3 = {{Code|spis_naglowka_dodatni_start}} {{Patrz|spis_naglowka_dodatni_start}} | _3 = Nagłówek po policzeniu.
| 4 = {{Code|spis_naglowka_dodatni_stare_start}} {{Patrz|spis_naglowka_dodatni_stare_start}} | _4 = To samo, co powyżej, ale przed wyznaczeniem.
| 5 = {{Code|poziom_naglowka_start}} {{Patrz|poziom_naglowka_start}} | _5 = Poziom nagłówka dodatniego, może być o wartości {{Code|nil}}.
}}
====== Wyszukiwanie rozdziałów niespisowych przed artykułem lub nagłówkiem spisu treści ======
Wyszukujemy rozdział następny spełniający pewne warunki nad napisem wprowadzenia tekstu nagłówka spisu treści, za pomocą: {{LinkŚródtytuł|p.SzukanieKolejnychSekcji|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}. A jeżeli taki spis treści nie istnieje, to nad artykułem ostatnim wyszukanym w kolejnym obiegu pętli.
Jej zwracane parametry to:
<syntaxhighlight lang="lua">
local liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka;
</syntaxhighlight>
Te parametry sa
Opis parametrów, ten nagłówek nie musi być dodatni, może być ujemny, czy zerowy, tzn.: {{LinkZobaczTeż|typy rozdziałów|StronicowyParser/Rozdziały}} {{ZobaczTeż|p.SzukanieKolejnychSekcji}}:
{{OpisParametrów
| 1 = {{Code|liczba_start_naglowek}} {{Patrz|liczba_start_naglowek}} | _1 = Znak początku wyszukania nagłówka nie spisu treści.
| 2 = {{Code|liczba_koniec_naglowek}} {{Patrz|liczba_koniec_naglowek}} | _2 = Znak końca wyszukania tego powyżej.
| 3 = {{Code|poziom_naglowka}} {{Patrz|poziom_naglowka}} | _3 = Poziom tego nagłówka.
}}
; Przed uruchomieniem tej funkcji wyszukiwania wielu nagłówków{{dk}}
Wtedy są zbierane są dane w tabeli {{Patrz|tab_zmienne}}:
{{Tbl|uchwyt=tab_zmienne|tekst=
<syntaxhighlight lang="lua">
local tab_zmienne={
liczba_nie_okladka_artykul=liczba_nie_okladka_artykul,
liczba_pierwszy_rozdzialowy_artykul=liczba_pierwszy_rozdzialowy_artykul,
czy_ten_rozdzial=czy_ten_rozdzial,
};
</syntaxhighlight>}}
A także są inicjowane zmienne:
<syntaxhighlight lang="lua">
local czy_zeruj=(not liczba_spis_tresci_start)and true or false;
liczba_obiekt_start_nowe=liczba_spis_tresci_start or liczba_obiekt_start_nowe;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis zmiennych inicjowanych:
| 1 = {{Code|czy_zeruj}} {{Patrz|czy_zeruj}} | _1 = Mówi, czy zmienne w tabeli: {{Code|tab_zmienne}} {{LinkPatrz|tab_zmienne}}, mają być zerowane do wartości nilowej, tzn. {{Code|nil}}, jeśli zajdzie taka potrzeba.
| 2 = {{Code|liczba_obiekt_start_nowe}} | _2 = Jak w: {{LinkPatrz|liczba_obiekt_start_nowe}}, tylko zaktualizowana o nagłówek istniejący spisu treści, a jeśli go nie ma, to według kodu przyjmuje wartość poprzednią.
}}
; Po uruchomieniu tej funkcji znajdowania wielu nagłówków{{dk}}
Na podstawie parametrów: {{LinkZobaczTeż|p.SzukanieKolejnychSekcji}} inicjowane są wtedy zmienne: {{Code|tab_zmienne}} {{LinkTbl|tab_zmienne}}, według kodu (podobnie jak w tym linku referencji odnośnika):
<syntaxhighlight lang="lua">
liczba_nie_okladka_artykul,liczba_pierwszy_rozdzialowy_artykul,czy_ten_rozdzial=tab_zmienne.liczba_nie_okladka_artykul,tab_zmienne.liczba_pierwszy_rozdzialowy_artykul,tab_zmienne.czy_ten_rozdzial;
</syntaxhighlight>
====== Powtórzenie wyszukiwania w przypadku jego nieprawidłowego znalezienia tych rozdziałów ======
; Nadawanie zmiennym wartości ze strony innych{{dk}}
Gdy zmienna: {{Code|czy_ten_rozdzial}} {{LinkPatrz|czy_ten_rozdzial}}, przyjmuje wartość odpowiadającą fałszywej, wtedy wchodzimy do instrukcji warunkowej, a następnie dalej do innej przy sprawdzeniu, czy: {{Code|liczba_obiekt_start}} {{LinkPatrz|liczba_obiekt_start}}, jest nierówne tej: {{Code|liczba_obiekt_start_nowe_temp}} {{LinkPatrz|liczba_obiekt_start_nowe_temp}}, a jeśli tak to wchodzimy do instrukcji warunkowej, która to poprzednia, jak i ta, nie ma instrukcji: '''else'''.
Po wejściu do instrukcji warunkowej inicjujemy pewne zmienne innymi:
{{OpisParametrów
| 1 = {{Code|liczba_start_rozdzial}} {{Patrz|liczba_start_rozdzial}} | _1 = Nadawanie wartości końca wyszukiwania od tyłu:
<syntaxhighlight lang="lua">
liczba_start_rozdzial=liczba_obiekt_start_nowe_temp;
</syntaxhighlight>
| 2 = {{Code|liczba_obiekt_start_nowe}} {{LinkPatrz|liczba_obiekt_start_nowe}} | _2 = Nadawanie wartości początku wyszukiwania przy liczeniu funkcji zwracanej przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}.
<syntaxhighlight lang="lua">
liczba_obiekt_start_nowe=liczba_obiekt_start;
</syntaxhighlight>
| 3 = {{Code|czy_ten_rozdzial}} {{LinkPatrz|czy_ten_rozdzial}} | _3 = Nadawanie wartości, czy ma zerować zmienne w funkcji zwracanej przez: {{LinkŚródtytuł|p.AnalizowanieSekcjowe|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}.
<syntaxhighlight lang="lua">
czy_ten_rozdzial=true;
</syntaxhighlight>
Tą zmienną inicjujemy podzmienną tabelowa: {{Code|tab_zmienne}} {{LinkPatrz|tab_zmienne}}, przy pomocy: {{Code|czy_ten_rozdzial}} {{LinkPatrz|czy_ten_rozdzial}}, według:
<syntaxhighlight lang="lua">
tab_zmienne.czy_ten_rozdzial=czy_ten_rozdzial;
</syntaxhighlight>
}}
; Nadawanie zmiennych rozdziałowych ze strony jednej tylko funkcji wyszukujących wiele rozdziałów w jednej funkcji przy wykorzystywaniu innych{{dk}}
Wywołujemy funkcję: {{LinkŚródtytuł|p.SzukanieKolejnychSekcji|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}, wyszukujące obiekty od: {{Code|liczba_obiekt_start}} {{LinkPatrz|liczba_obiekt_start}}, do: {{Code|liczba_start_rozdzial}} {{LinkPatrz|liczba_start_rozdzial}}, sprawdzając tekst pomiędzy od: {{Code|liczba_obiekt_start_nowe}} {{LinkPatrz|liczba_obiekt_start_nowe}}, do najbliższego wyszukanego rozdziału, czy jest prawidłowy, to jest sprawdzane dzięki: {{LinkŚródtytuł|p.AnalizowanieSekcjowe|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}.
Ta funkcja nadaje wartość zmiennym: {{LinkZobaczTeż|p.SzukanieKolejnychSekcji}}.
; Końcowe obliczenia inicjujące podobne zmienne lokalne z tabeli{{dk}} {{Code|tab_zmienne}} {{LinkPatrz|tab_zmienne}}{{dk}}
Nadajemy wartości normalnym zmiennym o pewnej nazwie od wartości z tabeli o nazwach o takich samych kluczach, tzn. na podstawie:
<syntaxhighlight lang="lua">
liczba_nie_okladka_artykul,liczba_pierwszy_rozdzialowy_artykul,czy_ten_rozdzial=tab_zmienne.liczba_nie_okladka_artykul,tab_zmienne.liczba_pierwszy_rozdzialowy_artykul,tab_zmienne.czy_ten_rozdzial;
</syntaxhighlight>
Te zmienne mają jakieś sensowne wartości, jeśli pod warunkiem, nie zostały one wyzerowane lub nie mogły nastąpić takie operacje ze względu na wartość zmiennej: {{Code|czy_zeruj}} {{LinkPatrz|czy_zeruj}}.
====== Wybieranie pomiędzy znalezionym rozdziałem, a spisem treści ======
Na podstawie wartości: {{Code|liczba_spis_tresci_start}} {{LinkPatrz|liczba_spis_tresci_start}}, oraz zmiennych poziomu: {{Code|poziom_naglowka_start}} {{LinkPatrz|poziom_naglowka_start}}, i {{Code|poziom_naglowka}} {{LinkPatrz|poziom_naglowka}}, jest wybierana w ten sposób zmienna: {{Code|liczba_spis_tresci_start}} {{LinkPatrz|liczba_spis_tresci_start}}, lub {{Code|liczba_start_naglowek}} {{LinkPatrz|liczba_start_naglowek}}. Najpierw pierwszeństwo ma ta pierwsza, a później ta druga, jeśli by wybrano tą nilową zmienną pierwszą.
====== Sprawdzanie aktualnej pozycji linkowej ======
; Sprawdzanie warunku, spełnienie jego pozytywne, a jak jest w przypadku przeciwnym{{dk}}
* W przypadku przeciwnym instrukcji tej warunkowej, którą jest:
<syntaxhighlight lang="lua">
if(((not czy_okladka)or((czy_okladka)and(lista_szablon~=""))or(liczba_start_naglowek))and(czy_ten_rozdzial))then
</syntaxhighlight>
Nadawane są wartości zmiennych: dla: {{Code|liczba_start_rozdzial}} {{LinkPatrz|liczba_start_rozdzial}}, ze strony od: {{Code|liczba_obiekt_koniec_nowe}} {{LinkPatrz|liczba_obiekt_koniec_nowe}}, a parametrowi: {{Code|liczba_nie_okladka_artykul_koniec}} {{LinkPatrz|liczba_nie_okladka_artykul_koniec}}, usuwana jest natomiast wszelaka wartość. A później jest nadawana wartość zmiennej: {{Code|liczba_obiekt_koniec_poprz}} {{LinkPatrz|liczba_obiekt_koniec_poprz}}, poprzez instrukcję: {{LinkZobaczTeż|liczba_obiekt_koniec_poprz}}.
* W przypadku spełnienia tego warunku w poleceniu warunkowym, robimy na samym końcu obiegu pętli: {{LinkZobaczTeż|liczba_obiekt_koniec_poprz}},jeśli pętla wcześniej nie została przerwana przy pomocy prawdziwej zmiennej: {{Code|czy_break}} {{LinkPatrz|czy_break}}, a przedtem inne instrukcje, takie:
; Nadawanie wartości pewnym zmiennym{{dk}}
Wtedy nadajemy zmiennej: {{Code|czy_bez_naglowka}} {{LinkPatrz|czy_bez_naglowka}}, wartość według:
<syntaxhighlight lang="lua">
czy_bez_naglowka=((not liczba_start_naglowek)or((liczba_obiekt_koniec_poprz or 1)<=(liczba_start_rozdzial or 1))) and true or false;
</syntaxhighlight>
Dalej wykonujemy instrukcje opisane w następnych podrozdziałach średnikowych, jako:
; Instrukcja{{dk}} {{nobold|wtedy}}, i w innym przypadku{{dk}} {{nobold|przeciwnie}}{{dk}}
* Rozkaz w rozgałezieniu instrukcji warunkowej: {{Tt|wtedy}}:
Sprawdzamy nad punktem: {{Code|liczba_start_naglowek}} {{LinkPatrz|liczba_start_naglowek}}, sprawdza, czy jakiś powyżej najbliższy obiekt jest: {{Code|LINKW}}, {{Code|LINKZ}} i {{Code|SZABLON}}, linki inteligentny, czy spisowy, ale szablonowy, wtedy działa funkcja: {{LinkŚródtytuł|p.CzyJestZarejestrowanyLinkWeObiektachOddzielonychZnakamiWePozaSekcjowychLiniowychPozycjach|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}, wtedy druga zwracana zmienna jest {{Code|true}}, przeciwnie ona zwraca {{Code|false}} z pierwszą początkową wartością wyszukiwania.
Wtedy jest zwracana zmienna:
{{OpisParametrów
| 1 = {{Code|liczba_przed_rozdzialem}} {{Patrz|liczba_przed_rozdzialem}} | _1 = Wartość zwracana pozycji z ostatniej funkcji.
| 2 = {{Code|czy_znajdz}} {{Patrz|czy_znajdz}} | _2 = Czy powyżej tego punktu znakowego są linki.
}}
Dalej od tego samego punktu, jest liczony rozdział dodatni: {{LinkZobaczTeż|typy rozdziałów|StronicowyParser/Rozdziały}}, z funkcji: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, która zwraca zmienną: {{Code|liczba_start_naglowek_przed}} {{Patrz| liczba_start_naglowek_przed}}.
Dalej jest wyznaczany argument: {{Code|liczba_przed}} {{Patrz|liczba_przed}}, sposobem:
<syntaxhighlight lang="lua">
local liczba_przed=((liczba_start_naglowek_przed)and((liczba_przed_rozdzialem>=liczba_start_naglowek_przed)and liczba_przed_rozdzialem or liczba_start_naglowek_przed) or liczba_przed_rozdzialem);
</syntaxhighlight>
Po tym jest wywoływana funkcja: {{LinkŚródtytuł|p.SzukanieSekcjiLinkowychLiniowychZakresowych|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}, która liczy,czy przed tym znajduje się rozdział zerowy, jak nie, to czy nie ma linku żadnego, a jak nie, to czy przed tym jest rozdział cudzysłowowy, wartością zwracaną jest: {{Code|liczba_start}} {{Patrz|liczba_start}} - pozycja początkowa pozycji prawdopodobnej spisu właściwego, i {{Code|czy_break}} {{Patrz|czy_break}} - czy pętla ma być przerwana.
* Przeciwnie: {{Tt|przeciwnie}}:
Wywołujemy funkcję: {{LinkŚródtytuł|p.SzukanieSekcjiOTekstowychPustychElementowychPozycjachLinkowych|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}, z pewną anonimową funkcją:
<syntaxhighlight lang="lua">
function(liczba_koniec_naglowek_nowe,liczba_obiekt_start_nowe)
...
end;
</syntaxhighlight>
Ta funkcja jest wstawiana miejsce wywołania funkcji: {{Code|p.AnalizowanieSekcjowe}} {{LinkŚródtytuł|p.AnalizowanieSekcjowe|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}, aby sprawdzić, czy pomiędzy z tymi elementami jest niepoprawny ciąg tekstowy, czyli taki jaki tam nie powinien się pojawić, a jeśli jednak się pojawił, to ta funkcja ma obsługę tego, i w zależności od tego może zwrócić odpowiednie elementy, w tym przypadku prawdziwości zwróconych wartości przez procedurę anonimową, wtedy ta funkcja zwraca wartość {{Code|false}}, przeciwnie ona zwróci poprawne dane, w postaci pewnych zmiennych.
Która jest uruchamiana dla parametrów pomiędzy: {{Code|liczba_koniec_naglowek_nowe}} {{Patrz|liczba_koniec_naglowek_nowe}}, i {{Code|liczba_obiekt_start_nowe}} {{LinkPatrz|liczba_obiekt_start_nowe}}, dla którego liczymy ciąg za pierwszym takim puntem i przed drugim również takim, z którego usuwamy zmienne szablonowe: {{Code|SZABLON}}, i sprawdzamy, czy otrzymamy ciąg z samych znaków odstępów, a jeżeli ona nie jest, to otrzymamy wartość z tej funkcji {{Code|true}}, przeciwnie: {{Code|nil}}.
Z tej funkcji otrzymujemy parametry wytłumaczone w punkcie {{LinkZobaczTeż|p.SzukanieKolejnychSekcji}}:
<syntaxhighlight lang="lua">
local liczba_start_naglowek,liczba_koniec_naglowek,naglowek,poziom_naglowka;
</syntaxhighlight>
Jeżeli taka zmienna: {{Code|liczba_start_naglowek}} {{LinkPatrz|liczba_start_naglowek}}, rzeczywiście istnieje, wtedy zmiennej: {{Code|liczba_obiekt_start_nowe}} {{LinkPatrz|liczba_obiekt_start_nowe}}, z tej istniejącej zmiennej.
Dalej wywołujemy funkcję: {{LinkŚródtytuł|p.CzyJestZarejestrowanyLinkWeObiektachOddzielonychZnakamiWePozaSekcjowychLiniowychPozycjach|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}, szukając elementów, od tyłu, pomiędzy: {{Code|liczba_obiekt_start_nowe}} {{LinkPatrz|liczba_obiekt_start_nowe}}, a {{Code|liczba_start_rozdzial}} {{LinkPatrz|liczba_start_rozdzial}}.
Następnym punktem jest wyznaczenie zmiennej: {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, w celu wyznaczenia prawdopodobnego początku liczenia właściwego spisu treści i zmiennej: {{Code|czy_break}} {{LinkPatrz|czy_break}}, czy przerwać pętle nadrzędną, tą funkcją wyznaczania tych parametrów jest: {{LinkŚródtytuł|p.SzukanieSekcjiLinkowychLiniowychZakresowych|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}.
; Kiedy pętla nadrzędna jest przerywana{{dk}}
Jeśli zmienna w tych dwóch rozgałęzieniach pętli: '''wtedy''', i '''else''', wartość: {{Code|czy_break}} {{LinkPatrz|czy_break}}, przyjmuje wartość fałszywą, wtedy następuje kolejny obieg pętli, przeciwnie jest przerywana, a {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, jest początkową pozycją właściwego spisu treści z zakodowanego artykułu, tym razem na pewno.
====== Zebrane dane o początku ustalenia właściwego spisu ======
Jeśli w pętli zakończyły się dane, lub nie otrzymano żadnej zmiennej: {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, z konkretną wartością, to funkcja zwraca ciąg pusty, czyli właściwy spis treści jest równy ciągowi pustemu. A jeśli mamy jakieś treściwe dane tej zmiennej, to jest to początek znakowy w zmiennej: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}, tego właściwego spisu w spisie.
==== Punkt końcowy ====
Punktem początkowym wyszukiwania od tyłu jest punkt równy końcowi tekstu artykułu spisu treści, tzn.:
<syntaxhighlight lang="lua">
local liczba_obiekt_start_od_tylu=#tekst_rozwiniety_calego_artykulu;
</syntaxhighlight>
Parametry początku wyszukiwania od tyłu:
{{OpisParametrów
| 1 = {{Code|liczba_obiekt_start_od_tylu}} {{Patrz|liczba_obiekt_start_od_tylu}} | _1 = Punkt początkowy wyszukiwania od tyłu w tekście, artykułu spisu, tzn.: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}.
}}
Wyszukujemy tekst według pewnego wzoru, na podstawie funkcji: {{LinkŚródtytuł|p.SzukanieNaPodstawieWzoruElementuLinii|StronicowyParser/AnalizaSpisuRzeczy/Tom I}}. Tym wzorem w tym wywołaniu funkcji jest:
<syntaxhighlight lang="lua">
local liczba_start_szablon,liczba_koniec_szablon,linia,lista_szablon,przerwa_szablon,obiekt_szablon,kod_szablon,dalszy_tekst=p.SzukanieNaPodstawieWzoruElementuLinii(tekst_rozwiniety_calego_artykulu,"(([%*:#;<>]?)([^\n]-)"..szablon_normy_kodowania_szablonu.."([^\n]*))",liczba_obiekt_start_od_tylu,liczba_start,true);
</syntaxhighlight>
Ogólnym wzorem, którym jest powyżej, to: {{Code|szablon_normy_kodowania_szablonu}} {{LinkPatrz|szablon_normy_kodowania_szablonu}}. Tą funkcję wywołuje się w {{ZobaczTeż|koniec wyszukiwania-pętla}} pętli, aż do zakończenia danych wyszukiwania lub przerwania, przy wykryciu pewnego punktu końca właściwego spisu treści.
Zmienne te wyszukiwania są opisane, i znaczą praktycznie to samo, co w wyszukiwaniu punktu początkowego, tzn.:
{{OpisParametrów
| 1 = {{Code|liczba_start_szablon}} {{LinkPatrz|liczba_start_szablon}} | _1 = Punkt znalezienia początki ciągu według wzoru, ale od tyłu.
| 2 = {{Code|liczba_koniec_szablon}} {{LinkPatrz|liczba_koniec_szablon}} | _2 = To samo, co powyżej, tylko że końca.
| 3 = {{Code|linia}} {{LinkPatrz|linia|StronicowyParser/AnalizaSpisuRzeczy}} | _3 = Linia cała wyszukiwana, bez znaków nowej linii, tzn. na jej początku i końcu.
| 4 = {{Code|lista_szablon}} | _4 = Jak w: {{LinkPatrz|lista_szablon}}.
| 5 = {{Code|przerwa_szablon}} | _5 = jak w: {{LinkPatrz|przerwa_szablon}}.
| 6 = {{Code|obiekt_szablon}} | _6 = Jak w: {{LinkPatrz|obiekt_szablon}}.
| 7 = {{Code|kod_szablon}} | _7 = Jak w: {{LinkPatrz|kod_szablon}}.
| 8 = {{Code|dalszy_tekst}} | _8 = Jak w: {{LinkPatrz|dalszy_tekst}}.
}}
===== Punkty wyszukiwania końca spisu właściwego ze spisu treści podręcznika =====
Dalszymi instrukcjami pętli {{LinkZobaczTeż|koniec wyszukiwania-pętla}}, jest sprawdzenie, czy zmienna: {{Code|liczba_start_szablon}} {{LinkPatrz|liczba_start_szablon}}, istnieje, a jeśli nie, to ta pętla jest przerywana jako zakończenie danych wyszukiwania z punktu do punktu znakowego od tyłu w pewnym większym określonym przedziale.
Ustalamy następny punkt wyszukiwania od tyłu równy: {{Code|liczba_obiekt_start_od_tylu}} {{LinkPatrz|liczba_obiekt_start_od_tylu}}, od wartości zmiennej: {{Code|liczba_start_szablon}} {{LinkPatrz|liczba_start_szablon}}, dokładnie według kodu:
<syntaxhighlight lang="lua">
liczba_obiekt_start_od_tylu=liczba_start_szablon;
</syntaxhighlight>
; Znajdowanie punktów znakowych od tyłu, bez pętlowania dalej, o ile to jest możliwe, jeśli te linie zawierają obiekty typu{{dk}} {{nobold|{{Code|LINKW}}}}, {{nobold|{{Code|LINKZ}}}} lub {{nobold|{{Code|SZABLON}}}} (linki inteligentne, czy spisowe, ale szablonowe){{dk}}
Funkcja możliwe może przerwać pętlowanie, o ile jest to możliwe, jeśli jest spełniony, któreś z warunków:
* Na początku są znaki pozycji listy ze znaków: {{Code|<nowiki>[%*:#;<>]</nowiki>}}.
* Jeśli ciąg znakowych tego z: {{Code|lista_szablon}} {{LinkPatrz|lista_szablon}} i {{Code|przerwa_szablon}} {{LinkPatrz|przerwa_szablon}}.
* Jeśli powyższe nie jest spełnione to dla: {{Code|lista_szablon}} {{LinkPatrz|lista_szablon}}, równe ciągowi pustemu, wtedy:
** To ciągi: {{Code|przerwa_szablon}} {{LinkPatrz|przerwa_szablon}} i {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, kolejno muszą się zaczynać i kończyć na znaki równa się, czyli: {{Code|{{=}}}}.
Jeśli powyższe punkty nie są spełnione, to szukamy pierwszego linku w obiekcie o kodzie dla: {{Code|obiekt}} {{LinkPatrz|obiekt|StronicowyParser/AnalizaSpisuRzeczy}}, {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/AnalizaSpisuRzeczy}}, według znalezionego, jeśli, wzoru: {{LinkŚródtytuł|p.SzukaniePierwszegoLinkuNapisuNiestandardowegoWprowadzeniaTekstu|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}. Ta funkcja zwraca elementy (wartości - zmienne, zwracane):
<syntaxhighlight lang="lua">
szablon,obiekt_szablon,kod_szablon,dalszy_tekst;
</syntaxhighlight>
Jeśli zmienna: {{Code|szablon}} {{LinkPatrz|szablon}}, istnieje, wtedy znaleziono taki punkt, w którym należy brać pod uwagę, czyli rozważyć.
; Znajdowanie końca spisu właściwego treści{{dk}} {{nobold|{{Code|liczba_start}}}}, który trzeba skorygować{{dk}}
Z danych początkowych: {{Code|obiekt}} {{LinkPatrz|obiekt}} (jest to nic innego jak: {{Code|obiekt_szablon}} {{LinkPatrz|obiekt_szablon}}), i {{Code|kod}} {{LinkPatrz|kod}} (uzyskanego z: {{Code|kod_szablon}} {{LinkPatrz|kod_szablon}}), tylko jest to wersja liczbowa, a nie znakowa.
Na podstawie tego uzyskujemy, wnętrze kodu z: {{Code|szablon}} {{LinkPatrz|szablon}}, lub z: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/AnalizaSpisuRzeczy}}, uzyskanego z kluczy: {{Code|obiekt}} {{LinkPatrz|obiekt}} i {{Code|kod}} {{LinkPatrz|kod}}.
Jeśli jest spełnione, tzn. zależność od punktu początkowego spisu właściwego w zależności od prawdopodobnego punktu końcowego, który mamy ustalić:
<syntaxhighlight lang="lua">
if(liczba_start<=liczba_obiekt_start)then
</syntaxhighlight>
A jeśli jest spełniona ta instrukcja warunkowa, wtedy jest wywoływana funkcja: {{LinkŚródtytuł|p.SzukanieLinkuWeSzablonieOrazDalszymNapisie|StronicowyParser/AnalizaSpisuRzeczy/Tom V}}.ona sprawdza, czy parametry: {{Code|obiekt}} {{LinkPatrz|obiekt}}, i {{Code|kod}} {{LinkPatrz|kod}}, czy są kodami linków, a jeśli nie, to czy w: {{Code|dalszy_tekst}} {{LinkPatrz|dalszy_tekst}}, są linki, a jeśli je tam znalazł, to funkcja zwraca {{ZobaczTeż|kiedy linki}} wartość prawdziwą.
Kiedy jest prawdziwe {{LinkZobaczTeż|kiedy linki}}, wtedy uruchamiamy funkcję: {{LinkŚródtytuł|p.PoliczKoniecZakodowanegoTekstuArtykularnego|StronicowyParser/AnalizaSpisuRzeczy/Tom VI}}, co ona wyszukuje niepustą linie nielistową pod spodem tej linii: {{Code|linia}} {{LinkPatrz|linia|StronicowyParser/AnalizaSpisuRzeczy}}, pod pozycją wskazywaną w tej zmiennej, co po wywołaniu tej funkcji pętla jest przerywana.
Funkcja liczy koniec spisu właściwego: {{Code|liczba_koniec}} {{Patrz|liczba_koniec}}, który trzeba skorygować.
===== Znajdowanie napisów wprowadzenia testu wraz z linkami artykułów =====
Szukamy, od tyłu od pozycji równą rozmiarowi zakodowanego i przetworzonego artykułu, rozdziały dodatniego: {{LinkZobaczTeż|typy rozdziałów|StronicowyParser/Rozdziały}}, przy pomocy funkcji: {{LinkŚródtytuł|p.WprowadzenieTekstuCentrowaneZnacznikowoSzablonowoLubDodatnie|StronicowyParser/AnalizaSpisuRzeczy/Tom IV}}, dla tekstu rozdziału zakodowanego: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}.
Zmienne są ustalane takie:
<syntaxhighlight lang="lua">
local liczba_rozdzial_start,liczba_rozdzial_koniec,rozdzial_nazwa,rozdzial;
</syntaxhighlight>
O znaczeniach od czego są one:
{{OpisParametrów
| 1 = {{Code|liczba_rozdzial_start}} {{Patrz|liczba_rozdzial_start}} | _1 = Początek wyszukanej linii rozdziału dodatniego.
| 2 = {{Code|liczba_rozdzial_koniec}} {{Patrz|liczba_rozdzial_koniec}} | _2 = Jak powyżej, ale to oto jest koniec.
| 3 = {{Code|rozdzial_nazwa}} {{Patrz|rozdzial_nazwa}} | _3 = Tekst nagłówka zakodowanego przed rozwinięciem.
| 4 = {{Code|rozdzial}} {{Patrz|rozdzial}} | _4 = Tekst nagłówka, tego powyżej, po rozwinięciu.
}}
Jeśli pozycja tego wyszukanego rozdziału jest mniejsza lub nie istnieje, to pętla jest przerywana, przeciwnie przy pomocy: {{LinkŚródtytuł|p.SzukajObiektuArtykularnegoWeElemencieTekstowym|StronicowyParser/AnalizaSpisuRzeczy/Tom II}}, jest sprawdzane, czy w nim są jakieś linki, co najmniej jeden. A jeśli tak, to jest liczony nowy koniec spisu treści właściwego ze spisu, czyli: {{Code|liczba_koniec}} {{LinkPatrz|liczba_koniec}}, od zmiennej: {{Code|liczba_rozdzial_koniec}} {{LinkPatrz|liczba_rozdzial_koniec}}, którym jest końcem linii wyszukanego tego rozdziału.
==== Wydzielanie spisu właściwego na podstawie punktu startowego i końcowego właściwego spisu treści z całego artykułu danego spisu książki ====
Gdy nie znaleziono końca właściwego spisu treści, lub punkt początka znakowego jest większy niż końcowy, to funkcja zwraca spis właściwy w postaci pustego ciągu znakowego.
===== Znajdowanie szablonu licencji i pierwsza korekcja końca spisu =====
Szukamy punkt końca, gdzie jest umieszczony szablon licencji: {{Code|{{s|Licencja}}}}, jeśli on istnieje, to szukamy przy pomocy: {{LinkŚródtytuł|p.KoniecStronyLicencja|StronicowyParser/AnalizaSpisuRzeczy/Tom VI}}, i jest większy niż koniec spisu właściwego: {{Code|liczba_koniec}} {{LinkPatrz|liczba_koniec}}, to ustalamy jego koniec nowy, zmieniając jego wartość na: {{Code|licencja_koniec}} {{Patrz|licencja_koniec}}.
===== Wydzielanie właściwego spisu treści z artykułu zawartości spisu =====
Wydzielamy spis właściwy treści ze spisu z tekstu artykułu zakodowanego tekstu: {{Code|tekst_rozwiniety_calego_artykulu}} {{LinkPatrz|tekst_rozwiniety_calego_artykulu|StronicowyParser/AnalizaSpisuRzeczy}}, od pozycji: {{Code|liczba_start}} {{LinkPatrz|liczba_start}}, do {{Code|liczba_koniec}} {{LinkPatrz|liczba_koniec}}, przy pomocy funkcji: {{LzLua|mw.ustring.sub}}, inicjując w ten sposób zmienną: {{Code|tekst}} {{Patrz|tekst}}. Robimy to kodem:
<syntaxhighlight lang="lua">
local tekst=mw.ustring.sub(tekst_rozwiniety_calego_artykulu,liczba_start,liczba_koniec);
</syntaxhighlight>
====== Redagowania testu zawartości spisu o nazwie: {{Tt|Bibliografia}} i {{Tt|Literatura}} - zmienianie i usuwanie szablonów i pewnych linków ======
Przy pomocy: {{linkŚródtytuł|p.KorygowanieTekstuSpisuRzeczy|StronicowyParser/AnalizaSpisuRzeczy/Tom VI}}, w dwóch okrążeniach modyfikujemy, czyli korygujmy tekst właściwego spisu treści: {{Code|tekst}} {{LinkPatrz|tekst}}. Do definiowania ile jest tych tak naprawdę okrążeń, to zależy od zdefiniowanej tabelki w: {{Code|{{sr|#p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe|p=StronicowyParser/obiekty}}}}, którą definiujemy {{LinkTbl|p.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu_dodatkowe|StronicowyParser/AnalizaSpisuRzeczy/Tom VI}}.
==== Co uzyskaliśmy w wyniku działania funkcji wydzielania konkretnego spisu treści z całego artykułu spisu ====
W wyniku skorygowanego spisu właściwego tekstu: {{Code|tekst}} {{LinkPatrz|tekst}}, otrzymujemy fragment jego, z którego w łatwy sposób bez pomylenia możemy wydzielić nagłówki z ich teksttami rozdziałów, a w ich tekstach i napisach wprowadzenia tekstów rozróżniamy w odpowiedni sposób zakodowane linki pisane jako: {{Code|LINKW}}, {{Code|LINKZ}} i {{Code|SZABLON}} (linki inteligentne, także również spisowe, ale szablonowe).
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
b3v64y5v26v6u5s1h0ti68lmunpseuf
Wikibooks:Moduły/Parametry/Tom I
4
63967
560541
556119
2026-11-04T07:51:59Z
Persino
2851
560541
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje liczb elementów w tabeli lub szablonów:
* W wersji mnogiej (wartości z parametrem: {{Parametr|mnoga|tak}} - możliwe wartości liczb, to: {{Code|0}}, {{Code|1}} lub {{Code|2}}) lub normalnej (bez niego, lub parametr: {{Parametr|mnoga}} - zwracane liczby to: {{Code|0}}, {{Code|1}}, {{Code|2}}, ...).
* Też jest możliwy parametr: {{Parametr|niepuste|tak}} - liczone są wtedy liczby dla wartości niepustych parametrów tabeli.
* Poniższe poszczególne funkcje zwracają pewną liczbę w odpowiedni dla siebie sposób.
== {{Śródtytuł|p["LiczbaElementówNumerowanychTablicy"]}}{{Code|p["LiczbaElementówNumerowanychTablicy"]}} ==
Funkcja liczy liczbę numerowanych elementów tablicy od {{Code|1}}, one nie mogą mieć miedzy sobą przerw, zaczynające się właśnie od niej, czyli: {{Code|1,2,3,4,...}}. Można podać, czy oczekujemy wartości tylko niepustych. Można wskazać, czy liczba elementów jest mnoga (większa od {{Code|1}}, ale równa {{Code|2}}, w tym przypadku, a jeżeli nie jest taka, to zrzucony wynik jest {{Code|0}}, {{Code|1}}, ale nie {{Code|2}}).
Ona liczy liczbę parametrów numerowanych niepustych, tzn. elementy tam są od {{Code|1}}, bez przerw, a jeżeli są przerwy, jeżeli taki przykład sformułować, to do jej pierwszej, a w tym przypadku nie ma takich.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["LiczbaElementówNumerowanychTablicy"]=function(tabela, wliczac,mnoga)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela}} | _1 = Tabela, na którym operujemy.
| 2 = {{Code|wliczac}} | _2 = Czy szukamy niepuste elementy numerowane tabeli, jeżeli {{Code|true}}.
| 3 = {{Code|mnoga}} | _3 = Czy liczba tych numerowanych elementów jest mnoga, jeżeli {{Code|true}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/LiczbaElementówNumerowanychTablicy/}}.
== {{Śródtytuł|p["LiczbaElementówNumerowanychSzablonu"]}}{{Code|p["LiczbaElementówNumerowanychSzablonu"]}} ==
Funkcja wywoływana w ramce w wikikodzie, wykorzystująca funkcję z definicji: {{LinkŚródtytuł|p["LiczbaElementówNumerowanychTablicy"]}}, i robiąca to samo, co ona, tylko wykorzystywana na innym poziomie, tzn. jako wywołana ramka w szablonie, a nie powinna być uruchamiana w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
<syntaxhighlight lang="lua">
p["LiczbaElementówNumerowanychSzablonu"]=function(frame)...end;
</syntaxhighlight>
Parametrami funkcji ramki tablicy transportu, które z dwóch odpowiadają parametrom: {{Code|wliczac}} i {{Code|mnoga}}, wykorzystywanej funkcji, są kolejno:
{{OpisParametrów
| 1 = {{Code|niepuste}} | _1 = Czy szukamy niepuste elementy numerowane parametrów szablonu, w którym ta ramka została wywołana, w postaci tej funkcji, jeżeli ta zmienna niepusta.
| 2 = {{Code|mnoga}} | _2 = Czy liczba takich wyszukań jest mnoga, jeżeli niepusta.
}}
Odpowiednikiem zmiennej {{Code|tabela}}:
{{OpisParametrów
| 1 = {{Code|frame:getParent().args}} | _1 = Parametry szablonu rodzica, policzona za pomocą tablicy ramki, jej funkcji, tablicy transportu.
}}
Funkcja wykorzystuje do swojego działania: {{LinkŚródtytuł|p["LiczbaElementówNumerowanychTablicy"]}}, który robi to samo, co podana funkcja, tylko jest inne obrazowanie zmiennych.
=== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ===
Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/LiczbaElementówNumerowanychSzablonu/}}.
== {{Śródtytuł|p["LiczbaElementówNienazwanychTablicy"]}}{{Code|p["LiczbaElementówNienazwanychTablicy"]}} ==
Funkcja liczy liczbę nienazwanych elementów niekoniecznie od {{Code|1}}, ale mogą zaczynać się od pewnej liczby, mogą między sobą, nie zawsze, mieć przerwy, np. mogą być podane tak: {{Code|3,10,15,..}}. Można podać, czy oczekujemy wartości tylko niepustych. Można wskazać, czy liczba elementów jest mnoga (większa od {{Code|1}}, ale równa {{Code|2}}, w tym przypadku, a jeżeli nie jest taka, to zrzucony wynik jest {{Code|0}}, {{Code|1}}, ale nie {{Code|2}}).
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["LiczbaElementówNienazwanychTablicy"]=function(tabela, wliczac,mnoga)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela}} | _1 = Tabela, na którym operujemy.
| 2 = {{Code|wliczac}} | _2 = Czy szukamy niepuste elementy numerowane tabeli, ma wartosć nieodpowiadająca {{Code|false}},
| 3 = {{Code|mnoga}} | _3 = Czy liczba tych numerowanych elementów jest mnoga, wartość jak powyżej.
}}
Funkcja z użytym parametrem {{Code|mnoga}} z wartością {{Code|true}} jest taka, że zawsze zwracana jest wartość {{Code|2}} przez nią.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/LiczbaElementówNienazwanychTablicy/}}.
== {{Śródtytuł|p["LiczbaParametrówNienazwanychSzablonu"]}}{{Code|p["LiczbaParametrówNienazwanychSzablonu"]}} ==
Funkcja wywoływana w ramce w wikikodzie, wykorzystująca funkcję z definicji: {{LinkŚródtytuł|p["LiczbaElementówNienazwanychTablicy"]}}, i robiąca to samo, co ona, tylko wykorzystywana na innym poziomie, tzn. jako wywołana ramka w szablonie, a nie powinna być uruchamiana w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["LiczbaParametrówNienazwanychSzablonu"]=function(frame)...end;
</syntaxhighlight>
Parametrami funkcji tablicy ramki, odpowiedniki parametrów: {{Code|wliczac}} i {{Code|mnoga}} funkcji wykorzystywanej z definicji, są kolejno:
{{OpisParametrów
| 1 = {{Code|niepuste}} | _1 = Czy szukamy niepuste elementy numerowane parametrów szablonu, w którym ta ramka została wywołana, w postaci tej funkcji, jeżeli ten argument niepusty.
| 2 = {{Code|mnoga}} | _2 = Czy liczba takich wyszukań jest mnoga, jeżeli niepusty.
}}
Odpowiednikiem parametru {{Code|tabela}} jest:
{{OpisParametrów
| 1 = {{Code|frame:getParent().args}} | _1 = Parametry szablonu rodzica, policzona za pomocą tablicy ramki, jej funkcji, tablicy transportu.
}}
Funkcja wykorzystuje do swojego działania: {{LinkŚródtytuł|p["LiczbaElementówNienazwanychTablicy"]}}, który robi to samo, co podana funkcja, tylko jest inne obrazowanie zmiennych.
=== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ===
Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/LiczbaParametrówNienazwanychSzablonu/}}.
== {{Śródtytuł|p["LiczbaElementówTablicy"]}}{{Code|p["LiczbaElementówTablicy"]}} ==
Funkcja liczy liczbę nienazwanych (numerowanych) i nazwanych elementów tablicy. Można podać, czy oczekujemy wartości tylko niepustych.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["LiczbaElementówTablicy"]=function(tabela,wliczac)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela}} | _1 = Tabela do rozważań na problemy tej funkcji.
| 2 = {{Code|wliczac}} | _2 = Czy ma liczyć liczbę elementów niepustych, jeżeli {{Code|true}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/LiczbaElementówTablicy/}}.
== {{Śródtytuł|p["LiczbaElementówNienazwanychZPrzedrostkiemLubNieTablicy"]}}{{Code|p["LiczbaElementówNienazwanychZPrzedrostkiemLubNieTablicy"]}} ==
Funkcja liczy liczbę nienazwanych elementów od {{Code|1}}, ale mogą zaczynać się od pewnej liczby, mogą między sobą mieć przerwy, np.: {{Code|3,10,15,..}}, liczbę elementów tablicy odpowiednio skonstruowanych, charakterystycznych dla tej funkcji. Można podać, czy oczekujemy wartości tylko niepustych.
Można wskazać, czy liczba elementów jest mnoga (większa od {{Code|1}}, wtedy ta funkcja zwraca wynik {{Code|2}}, a jeżeli nie jest taka, to wtedy zwracany wynik jest {{Code|0}} lub {{Code|1}}). Należy też podać niepusty przedrostek, niebędący liczbą zakodowaną w łańcuchu znakowym. Należy wskazać w funkcji, czy oczekujemy formy numerkowe, ale nie muszą to być liczby, ale mogą być one łańcuchami znakowymi, a jeżeli nie są takie, to one muszą być w postaci czystych liczb. Definicja form numerkowych jest taka, że one po przekształceniu na liczbę funkcją {{LzLua|tonumber}} stają się normalnymi liczbami {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["LiczbaElementówNienazwanychZPrzedrostkiemLubNieTablicy"]=function(tabela,przedrostek,wliczac,czy_formy_numerkowe)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela}} | _1 = Tabela, na którym operujemy.
| 2 = {{Code|przedrostek}} | _2 = Niepusty, niebędący liczbą łańcuchową, przedrostek, który ma być przed liczbą.
| 3 = {{Code|wliczac}} | _3 = Czy szukamy niepuste elementy numerowane tabeli.
| 4 = {{Code|czy_formy_numerkowe}} | _4 = Czy wyszukiwane liczby przy pomocy funkcji {{Code|pairs}}, czy są czystymi liczbami {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
}}
Funkcja liczy liczbę parametrów nienazwanych i nazwanych, ale z podanym przedrostkiem, lub nie, skonstruowanych z tych pierwszych.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/LiczbaElementówNienazwanychZPrzedrostkiemLubNieTablicy/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
6sht75q6hc1uvm9lb5oa9k6jm2n63wd
Wikibooks:Moduły/Parametry/Tom IV
4
63970
560542
560326
2026-11-04T07:58:55Z
Persino
2851
560542
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje do kopiowania tabel.
== {{Śródtytuł|p["KopiujTabelęŁańcuchów"]}}{{Code|p["KopiujTabelęŁańcuchów"]}} ==
Szablon przyjmuje tabelę: {{Code|args}}, którego elementem jest: {{Code|args.tabela}}, która jest tą właściwą tabelę, na której operujemy.
Tabela {{Code|args}} posiada składowe do zastępowania poszczególnych elementów w niej, a jeżeli nie ma dla niego składowych szczególnych, to rzeczywiście kopiujemy tabelę łańcuchów, w przeciwnym wypadku, ją modyfikujemy.
Z tak uzyskanej tabeli wyodrębniamy pewne elementy, modyfikujemy je, lub po pewnych operacjach odejmujemy, i tworzymy nowa tabelę. A w niej uzyskiwanej, to do niego dodajemy elementy z przedrostkiem i przyrostkiem, a na podstawie tego tworzymy nową tabelę {{Code|args2}}, która zwracana jest przez tę funkcję.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["KopiujTabelęŁańcuchów"]=function(args)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tablica, z główną tablicą, z elementami modyfikującymi elemenenty i je zmienione sprawdzające, a następnie dodające do nich przedrostki i przyrostki.
}}
Składowymi nazwanymi tabeli: {{Code|args}}, którym koniecznym elementem jest {{Code|args.tabela}}, a dalsze są opcjonalne, ale tylko co najmniej jeden z nich musi być podany, co na podstawie, z której tworzymy nową tabelkę, a więc:
{{OpisParametrów
| 1 = {{Code|args.tabela}} | _1 = Tabela, na której operujemy, na podstawie, z której tworzymy zwracaną tabelę {{Code|args2}}.
| 2 = {{Code|args["wzór"][coś]}} lub {{Code|args["wzór wszystko"]}} | _2 = Wzór wyszukiwania, czy element wskazywany przez niego, ma to,
| 3 = {{Code|args.podstawienie[coś]}} lub {{Code|args["podstawienie wszystko"]}} | _3 = Podstawienie, dokonane po znalezieniu elementu w elemencie według powyższego zaraz wzoru, i go zastąpienie.
| 4 = {{Code|args["wzór 2"][coś]}} lub {{Code|args["wzór wszystko 2"]}} | _4 = Wzór wyodrębnienia pewnej części, jeśli element to ma po ewentualnym podstawieniu, a jeśli tego nie ma, to zwracane jest {{Code|nil}}, wtedy z tego elementu tabeli, dla której uzyskaliśmy tę wartość, nie jest przetwarzana jako element nowej tabeli {{Code|args2}}.
| 5 = {{Code|args.przedrostek[coś]}} lub {{Code|args["przedrostek wszystko"]}} | _5 = Jeśli element istnieje wyszukany powyższym wzorem, to to jest przedrostek przed tym elementem.
| 6 = {{Code|args.przyrostek[coś]}} lub {{Code|args["przyrostek wszystko"]}} | _6 = Jeśli element istnienie wyszukany powyższym wzorem, to to jest przyrostek po tym elemencie.
}}
Element {{Code|coś}} jest to jakiś klucz elementu tabeli {{Code|args.tabela}}. W powyższych alternatywach jest sprawdzany najpierw pierwszy element alternatywny, czy istnieje, a potem drugi. Za pomocą tego modyfikujemy tę tabelę lub usuwamy poszczególne jego elementy, tworząc tabelę {{Code|args2}}.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/KopiujTabelęŁańcuchów/}}.
== {{Śródtytuł|p["KopiujTabelęElementów"]}}{{Code|p["KopiujTabelęElementów"]}} ==
To jest nierekurencyjne kopiowanie tabeli {{Code|tabela}}.
* A jeżeli {{Code|wliczac_1{{=}}true}}, to klucze elementów nie mogą być puste lub wskazywać na wartość fałszywą, a jeśli {{Code|wliczac_2{{=}}true}}, to wartości tych elementów o tych kluczach nie mogą być puste lub wskazywać na wartość fałszywą. W takim przypadku wywoływana w takim bądź razem jest funkcja: {{LinkŚródtytuł|p.CzyTak|Parametry/Tom XIII}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["KopiujTabelęElementów"]=function(tabelka,wliczac_1,wliczac_2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabelka}} | _1 = Tabela elementów o kluczach i ich wartościach, na której dokonujemy operacji.
| 2 = {{Code|wliczac_1}} | _2 = Jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych kluczy.
| 3 = {{Code|wliczac_2}} | _3 = Jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych wartości o pewnych kluczach.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/KopiujTabelęElementów/}}.
== {{Śródtytuł|p["KopiujTabelęElementówBezTablicyKluczy"]}}{{Code|p["KopiujTabelęElementówBezTablicyKluczy"]}} ==
Funkcja kopiuje nierekurencyjnie elementy tabeli {{Code|tabelka}}, usuwając z niej elementy o kluczach wskazanych przez tabelę {{Code|tabelka2}}, którego elementy piszemy w postaci {{Code|{"klucz"] {{=}} "wartość"}}.
Funkcją wyszukiwującą klucze w tabeli {{Code|tabelka2}} jest: {{LinkŚródtytuł|p.CzyJestTakiKluczTabeli|Parametry/Tom VIII}}. Z tabeli można usunąć klucze, ewentualnie przy pomocy {{Code|wliczac_1{{=}}true}}, jeśli chodzi o klucze, i ewentualnie wartości {{Code|wliczac_2{{=}}true}}, a tutaj o wartości, o wartościach pustych lub fałszywych uzyskiwanej z funkcji: {{LinkŚródtytuł|p.CzyTak|Parametry/Tom XIII}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["KopiujTabelęElementówBezTablicyKluczy"]=function(tabelka,tabelka2,wliczac_1,wliczac_2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabelka}} | _1 = Tabela elementów o kluczach i ich wartościach, na której dokonujemy operacji.
| 2 = {{Code|tabelka2}} | _2 = Tabela zbudowana przy pomocy ściśle określonych kluczy o dowolnych wartościach (wartości są nieistotne), za pomocą których usuwamy elementy tabeli {{Code|tabelka2}}.
| 3 = {{Code|wliczac_1}} | _3 = Jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych kluczy.
| 4 = {{Code|wliczac_2}} | _4 = Jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych wartości o pewnych kluczach.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/KopiujTabelęElementówBezTablicyKluczy/}}.
== {{Śródtytuł|p["KopiujRekurencyjnieTabelęElementów"]}}{{Code|p["KopiujRekurencyjnieTabelęElementów"]}} ==
Funkcja dokładnie rekurencyjnie kopiuje tabelę {{Code|tabelka}}, pomijając ewentualnie elementy o kluczach, przy pomocy {{Code|wliczac_1{{=}}true}}, i o wartościach przy pomocy: {{Code|wliczac_2{{=}}true}}, przy użyciu funkcji.
Funkcja też kopiuje dokładnie tabele również z przyłączonymi metafunkcjami, ale ona musi mięc wtedy metodę: {{Code|__metatabelka.KopiujMetaTabela}}, bo w przeciwnym razie żadna metabela nie zostanie przekopiowana, wtedy kopiowanie będzie niedokładne. Dla tabel bez metatabel kopiowanie jest rekurencyjne i dokładne.
Przykładami metatabel z tą funkcją do kopiowania metatabel są: {{Code|{{sr|#p.MetaTabelkaParsowanieSzablonu|p=Szablonowe}}}} i {{Code|{{sr|#p.MetaTabelkaSzablonowe|p=Szablonowe/Potrzebne}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["KopiujRekurencyjnieTabelęElementów"]=function(tabelka,wliczac_1,wliczac_2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabelka}} | _1 = Tabela elementów o kluczach i ich wartościach, na której dokonujemy operacji.
| 2 = {{Code|wliczac_1}} | _2 = Jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych kluczy.
| 3 = {{Code|wliczac_2}} | _3 = Jeśli {{Code|true}}, tabela {{Code|tabelka}} jest tworzona bez pustych lub fałszywych wartości o pewnych kluczach.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/KopiujRekurencyjnieTabelęElementów/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
sq9cw5vkgb0ink5nuzwvbalt4e1040t
Wikibooks:Moduły/Parametry/Tom V
4
63971
560543
556124
2026-11-04T08:00:38Z
Persino
2851
560543
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje do sprawdzania istnienia pewnych parametrów.
Przedstawione tu funkcje wywołuje się tylko w postaci ramki, a nie w skrypcie {{lpg|Lua}} w {{lpr|Scribunto}}, bo tam istnienie parametru sprawdza się innymi metodami.
== {{Śródtytuł|p["NazwanyLiczbą"]}}{{Code|p["NazwanyLiczbą"]}} ==
Wywołanie ramki {{Code|{{m|Parametry|NazwanyLiczbą}}}} umieszcza się w szablonie rodzicu, sprawdza, czy w szablonie podano taki nienazwany parametr, tzn. określony liczbą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwanyLiczbą"] = function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = tablica ramki funkcji tablicy transportu modułu.
}}
=== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ===
Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/NazwanyLiczbą/}}.
== {{Śródtytuł|p["NazwanyCiągiem"]}}{{Code|p["NazwanyCiągiem"]}} ==
Wywołanie ramki {{Code|{{m|Parametry|NazwanyCiągiem}}}} umieszcza się w szablonie rodzicu, sprawdza, czy w szablonie podano taki nazwany parametr, tzn. określony łańcuchem znaków.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwanyCiągiem"] = function (frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = tablica ramki funkcji tablicy transportu modułu.
}}
=== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ===
Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/NazwanyCiągiem/}}.
== {{Śródtytuł|p.Nazwane}}{{Code|p.Nazwane}} ==
Wywołanie ramki {{Code|{{m|Parametry|Nazwane}}}} umieszcza się w szablonie rodzicu, sprawdza, czy w szablonie podano takie nazwane parametry, tzn. określone łańcuchami znaków.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.Nazwane(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = tablica ramki funkcji tablicy transportu modułu.
}}
=== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ===
Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/Nazwane/}}.
== {{Śródtytuł|p.Nienazwane}}{{Code|p.Nienazwane}} ==
Wywołanie ramki {{Code|{{m|Parametry|Nienazwane}}}} umieszcza się w szablonie rodzicu, sprawdza, czy w szablonie podano takie nienazwane parametry (oznaczone liczbami naturalnymi) o wartościach takich jak, tzn. określone łańcuchami znaków.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.Nienazwane(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = tablica ramki funkcji tablicy transportu modułu.
}}
=== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ===
Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/Nienazwane/}}.
== {{Śródtytuł|p.Numerowane}}{{Code|p.Numerowane}} ==
Wywołanie ramki {{Code|{{m|Parametry|Numerowane}}}} umieszcza się w szablonie rodzicu, sprawdza, czy w szablonie podano takie numerowane parametry, tzn. określone łańcuchami znaków:
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.Numerowane(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = tablica ramki funkcji tablicy transportu modułu.
}}
=== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ===
Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/Numerowane/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
khtj9qgtxau6xytkxzeorbq66njjik3
Wikibooks:Moduły/Parametry/Tom VI
4
63972
560544
556125
2026-11-04T08:01:27Z
Persino
2851
560544
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje manipulowania formatami łańcuchów znakowych.
== {{Śródtytuł|p["Odstępy"]}}{{Code|p["Odstępy"]}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy {{s|Odstępy}} ma te same parametry, co jej odpowiednik ramkowy funkcyjny: {{Code|{{m|Parametry|Odstępy}}}}.
==== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ====
* Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/Odstępy/}}.
=== Funkcja biblioteczna ===
Funkcja usuwa białe znaki i dolne myślniki na końcach podanego ciągu, ale też ewentualnie można przy pomocy tej funkcji zamieniać też te znaki wewnątrz ciągu, o ile nie jest już pusty po poprzedniej operacji, i zamienia ich na jedną spację lub dolny myślnik.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["Odstępy"] = function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|nazwa}} | _1 = Określa podany ciąg, któremu domyślnie są usuwane białe znaki lub dolne myślniki na końcach łańcucha.
| 2 = {{Code|2}} lub {{Code|wewnątrz}} | _2 = Czy ma również robić podobne operacje, co powyżej, tylko że wewnątrz ciągu, z różnicą, że zaamieniając na jeden znak.
| 3 = {{Code|3}} lub {{Code|dolny-myślnik}} | _3 = Czy ma zamieniać, spacje i dolne myślniki (jeżeli je wykrywa, patrz parametr poniżej), na dolne myślniki.
| 4 = {{Code|4}} lub {{Code|spacje}} | _4 = Czy na końcach i wewnątrz ciągu ma wykrywać, do zamieniania, tylko odstępy, a nie również dolne myślniki.
}}
==== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ====
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/Odstępy/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
r5sy4sivf1fx4noq2osm46mv387iu93
Wikibooks:Moduły/Parametry/Tom VII
4
63973
560545
556128
2026-11-04T08:01:59Z
Persino
2851
560545
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tu przedstawione funkcje dodawania lub usuwania elementu do tabeli zbioru.
== {{Śródtytuł|p.DodajElementDoZbioru}}{{Code|p.DodajElementDoZbioru}} ==
Funkcja dodaje element do zbioru, czyli do tablicy numerowanej: {{Code|tabela}}, wartość: {{Code|wartość}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DodajElementDoZbioru(tabela,wartosc)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela}} | _1 = Tabela elementów numerowanych.
| 2 = {{Code|wartosc}} | _2 = Wartość, którą wsadzamy jako ostatni element do tej tablicy.
}}
Funkcja zbiera tylko niepowtarzające się wartości, w tym wypadku zwraca wartość {{Code|true}}, w przeciwnym wypadku {{Code|false}}, więc tego elementu nie dodaje do zbioru.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/DodajElementDoZbioru/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
pu5chet3pdzj8xyr9d4e5tctd3mcuzf
Wikibooks:Moduły/Parametry/Tom VIII
4
63974
560546
556129
2026-11-04T08:03:10Z
Persino
2851
560546
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje do sprawdzania istnienia elementów tabeli.
== {{Śródtytuł|p.CzyJestTakiElementNumerowanyTabeli}}{{Code|p.CzyJestTakiElementNumerowanyTabeli}} ==
Funkcja sprawdza, czy jest taki element numerowany.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyJestTakiElementNumerowanyTabeli(tabela,wartosc)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela}} | _1 = Tabela elementów, nie tylko numerowanych.
| 2 = {{Code|wartosc}}| _2 = parametr wartości, jaką ta tablica powinna posiadać w postaci elementu numerowanego.
}}
Parametrami funkcji jest tabela {{Code|tabela}} elementów, niemający przerw, zaczynający się o kluczu od jedynki, ale z końcem, lub do pierwszej przerwy, dla której sprawdzamy, czy jakiś element jego o kluczu określonej liczbą naturalną, czy posiada podaną wartość {{Code|wartość}}.
Zaużmy, że tabelą naszą jest obiekt zdefiniowany z elementami numerowanymi od jedynki bez przerw z końcem na końcu.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/CzyJestTakiElementNumerowanyTabeli/}}.
== {{Śródtytuł|p.CzyJestTakiElementNienazwanyTabeli}}{{Code|p.CzyJestTakiElementNienazwanyTabeli}} ==
Funkcja sprawdza, czy jest taki element nienazwany, niekoniecznie numerowany. Ta tabela może mieć przerwy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyJestTakiElementNienazwanyTabeli(tabela,wartosc)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela}} | _1 = Tabela elementów, nie tylko nienazwwanych.
| 2 = {{Code|wartosc}} | _2 = parametr wartości, jaką ta tablica powinna posiadać w postaci elementu nienazwanego.
}}
Parametrami funkcji jest tabela {{Code|tabela}} elementów, niekoniecznie, nienazwanych, dla której sprawdzamy, czy jakiś element jego o kluczu określonej liczbą naturalną, czy posiada podaną wartość {{Code|wartość}}.
Zaużmy, że tabelą naszą jest obiekt zdefiniowany z elementami numerowanymi niekoniecznie od jedynki mogący być z przerwami z końcem na końcu.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/CzyJestTakiElementNienazwanyTabeli/}}.
== {{Śródtytuł|p.CzyJestTakiKluczTabeli}}{{Code|p.CzyJestTakiKluczTabeli}} ==
Funkcja sprawdza, czy jest taki element o danym kluczu o dowolnej wartości.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyJestTakiKluczTabeli(tabela,klucz)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela}} | _1 = Tabela elementów z kluczami i ich wartościami.
| 2 = {{Code|klucz}} | _2 = klucz, jaką ta tabela musi posiadać.
}}
Parametrami funkcji jest tabela {{Code|tabela}} elementów, niekoniecznie nazwanych, dla której sprawdzamy, czy jakiś element jego o danym kluczy {{Code|klucz}}, o dowolnej wartości.
Zaużmy, że naszą tabelą jest tabela elementów nazwanych z kluczami i przydzielonymi im wartościom.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/CzyJestTakiKluczTabeli/}}.
== {{Śródtytuł|p.CzyJestTakiElementTabeli}}{{Code|p.CzyJestTakiElementTabeli}} ==
Funkcja sprawdza, czy jest taki element o danym kluczu {{Code|klucz}} i wartości {{Code|wartość}} dla elementów w danej tabeli.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.CzyJestTakiElementTabeli(tabela,klucz,wartosc)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela}} | _1 = Tabela elementów z kluczami i ich wartościami.
| 2 = {{Code|klucz}} | _2 = Klucz, jaką ta tabela musi posiadać.
| 3 = {{Code|wartość}} | _3 = wartość tego klucza, jaką ta tabela powinna posiadać.
}}
Parametrami funkcji jest tabela {{Code|tabela}} o parametrach niekoniecznie nazwanych, ale on równie dobrze może składać się z elementów nienazwanych lub tylko numerowanych.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/CzyJestTakiElementTabeli/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mc7oi6i4wejyjwbz14yr2rqfq1fgtms
Wikibooks:Moduły/Parametry/Tom IX
4
63975
560547
559223
2026-11-04T08:06:40Z
Persino
2851
560547
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje łączenia wielu tabel.
== {{Śródtytuł|p["ŁączDwieTabele"]}}{{Code|p["ŁączDwieTabele"]}} ==
Funkcja łączy dwie tabele przy pomocy: {{LinkŚródtytuł|p["ŁączNumerowaneTabele"]}}, które tam są ustawione w sposób ponumerowany, natomiast te tabele zawierają elementy nazwane jak i nienazwane. Te elementy tych tabel łączymy ze sobą, w ten sposób powstanie wynikowa tabela końcowa.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączDwieTabele"]=function(tabela1,tabela2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela1}} i {{Code|tabela2}} | _1 = Tabele do połączenia w jedną tablicę.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączDwieTabele/}}.
== {{Śródtytuł|p["ŁączZbioryElementówNumerowanychDwóchTabel"]}}{{Code|p["ŁączZbioryElementówNumerowanychDwóchTabel"]}} ==
Funkcja łączy dwie tabele przy pomocy: {{LinkŚródtytuł|p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]}}, które tam są ustawione w sposób ponumerowany, natomiast te tabele zawierają elementy ponumerowane. Te elementy tych tabel łączymy ze sobą, w ten sposób powstanie wynikowa tabela końcowa.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączZbioryElementówNumerowanychDwóchTabel"]=function(tabela1,tabela2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela1}}, {{Code|tabela2}} | _1 = Tabele do połączenia w jedną tablicę.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączZbioryElementówNumerowanychDwóchTabel/}}.
== {{Śródtytuł|p["ŁączZbioryElementówNienazwanychDwóchTabel"]}}{{Code|p["ŁączZbioryElementówNienazwanychDwóchTabel"]}} ==
Funkcja łączy dwie tabele przy pomocy: {{LinkŚródtytuł|p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]}}, które tam są ustawione w sposób ponumerowany, natomiast te tabele zawierają elementy nienazwane. Te elementy tych tabel łączymy ze sobą, w ten sposób powstanie wynikowa tabela końcowa.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączZbioryElementówNienazwanychDwóchTabel"]=function(tabela1,tabela2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela1}}, {{Code|tabela2}} | _1 = Tabele do połączenia w jedną tablicę.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączZbioryElementówNienazwanychDwóchTabel/}}.
== {{Śródtytuł|p["ŁączZbioryElementówNazwanychDwóchTabel"]}}{{Code|p["ŁączZbioryElementówNazwanychDwóchTabel"]}} ==
Funkcja łączy dwie tabele przy pomocy: {{LinkŚródtytuł|p["ŁączZbioryNazwanychElementówNumerowanychTabel"]}}, które tam są ustawione w sposób ponumerowany, natomiast te tabele zawierają elementy nazwane. Te elementy tych tabel łączymy ze sobą, w ten sposób powstanie wynikowa tabela końcowa.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączZbioryElementówNazwanychDwóchTabel"]=function(tabela1,tabela2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tablica elementów będących elementami.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączZbioryElementówNazwanychDwóchTabel/}}.
== {{Śródtytuł|p["ŁączZbioryNumerowanychElementówNienazwanychTabel"]}}{{Code|p["ŁączZbioryNumerowanychElementówNienazwanychTabel"]}} ==
Funkcja wykorzystuje: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Funkcja łączy ponumerowane elementy tabel, tabel nazwanych liczbami naturalnymi, które są pod zmienną {{Code|args}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączZbioryNumerowanychElementówNienazwanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=false,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,};
return parametry_modul["ŁączTabele"](args,args2);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tablica elementów będących elementami.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączZbioryNumerowanychElementówNienazwanychTabel/}}.
== {{Śródtytuł|p["ŁączZbioryNienazwanychElementówNienazwanychTabel"]}}{{Code|p["ŁączZbioryNienazwanychElementówNienazwanychTabel"]}} ==
Funkcja wykorzystuje: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Funkcja łączy nazwane tylko liczbami naturalnymi elementy tabel, tabel nazwanych liczbami naturalnymi.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączZbioryNienazwanychElementówNienazwanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,};
return parametry_modul["ŁączTabele"](args,args2);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tablica elementów będących elementami.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączZbioryNienazwanychElementówNienazwanychTabel/}}.
== {{Śródtytuł|p["ŁączZbioryNazwanychElementówNienazwanychTabel"]}}{{Code|p["ŁączZbioryNazwanychElementówNienazwanychTabel"]}} ==
Funkcja wykorzystuje: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Funkcja łączy tylko elementy nazwane tabel, tabel określonych liczbami naturalnymi, które są pod zmienną {{Code|args}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączZbioryNazwanychElementówNienazwanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=true,};
return parametry_modul["ŁączTabele"](args,args2);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tablica elementów będących elementami.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączZbioryNazwanychElementówNienazwanychTabel/}}.
== {{Śródtytuł|p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]}}{{Code|p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]}} ==
Funkcja wykorzystuje: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Funkcja łączy elementy ponumerowane tabel, tabel ponumerowanych liczbami naturalnymi, które są pod zmienną {{Code|args}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=false,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,};
return parametry_modul["ŁączTabele"](args,args2);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tablica elementów będących elementami.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączZbioryNumerowanychElementówNumerowanychTabel/}}.
== {{Śródtytuł|p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]}}{{Code|p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]}} ==
Funkcja wykorzystuje: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Funkcja łączy elementy nazwane tylko liczbami naturalnymi tabel, tabel ponumerowanych, które są pod zmienną {{Code|args}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=false,CzyTylkoNazwaneElementyTabel=false,};
return parametry_modul["ŁączTabele"](args,args2);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tablica elementów będących elementami.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączZbioryNienazwanychElementówNumerowanychTabel/}}.
== {{Śródtytuł|p["ŁączZbioryNazwanychElementówNumerowanychTabel"]}}{{Code|p["ŁączZbioryNazwanychElementówNumerowanychTabel"]}} ==
Funkcja wykorzystuje: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Te tabele są łączone w pewien ściśle określony sposób. Funkcja łączy tylko elementy nazwane tabel, tabel ponumerowanych, które są pod zmienną {{Code|args}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączZbioryNazwanychElementówNumerowanychTabel"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=true,};
return parametry_modul["ŁączTabele"](args,args2);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tablica elementów będących elementami.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączZbioryNazwanychElementówNumerowanychTabel/}}.
== {{Śródtytuł|p["ŁączNumerowaneTabele"]}}{{Code|p["ŁączNumerowaneTabele"]}} ==
Funkcja wykorzystuje: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Te tabele są łączone dokładnie w taki sposób, aby elementy się nie powtarzały, i elementy w nowo powstałej tabeli są powtórzeniem elementów w podanych tabeli z dokładnościa do tej informacji. Funkcja łączy tabele ponumerowane, które są pod zmienną {{Code|args}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączNumerowaneTabele"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2={CzyPairsTablic=false,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=false,NazwijElementyNumerowane=true,};
return parametry_modul["ŁączTabele"](args,args2);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tablica elementów będących elementami.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączNumerowaneTabele/}}.
== {{Śródtytuł|p["ŁączNienazwaneTabele"]}}{{Code|p["ŁączNienazwaneTabele"]}} ==
Funkcja wykorzystuje: {{Code|{{m|Parametry|ŁączTabele}}}}, którą nigdy się nie implemetuje w postaci ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, ale jako funkcję biblioteczną. Te tabele są łączone dokładnie w taki sposób, aby elementy się nie powtarzały, i elementy w nowo powstałej tabeli są powtórzeniem elementów w podanych tabeli z dokładnościa do tej informacji. Funkcja łączy tabele określone liczbami naturalnymi, które są pod zmienną {{Code|args}}.
Definicja skrótowa fukcji:
<syntaxhighlight lang="lua">
p["ŁączNienazwaneTabele"]=function(args)
local parametry_modul=require("Module:Parametry");
local args2={CzyPairsTablic=true,["CzyPairsElementówTablic"]=true,CzyNazwaneElementyTabel=true,CzyTylkoNazwaneElementyTabel=false,NazwijElementyNumerowane=true,};
return parametry_modul["ŁączTabele"](args,args2);
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tablica elementów będących elementami.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/ŁączNienazwaneTabele/}}.
== {{Śródtytuł|p["ŁączTabele"]}}{{Code|p["ŁączTabele"]}} ==
Funkcja łączy tabele ogólnie nazwane, określone w tablicy: {{Code|args2}}, względem parametrów określonych w tablicy {{Code|args2}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ŁączTabele"] = function(args,args2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} | _1 = Tabela elementów będących tabelami.
| 2 = {{Code|args2}} | _2 = Tablica z kluczami o wartościach {{Code|true}}, jeśli to ustawienie włączone, w przeciwnym wypadku wyłączone.
}}
Funkcja łączy jedynie tabele ponumerowane liczbami naturalnymi, czy to w sposób nienazwany, też za pomocą tych liczb, ale wtedy numeracja nie musi być od jedynki i ona może mieć przerwy.
Parametry (elementy) tabeli {{Code|args2}} są:
{{OpisParametrów
| 1 = {{Code|args2.CzyPairsTablic}} | _1 = Jeśli prawdziwa, to określa nazwane elementy tabel w tabeli, w przeciwnym wypadku numerowane.
| 2 = {{Code|args2["CzyPairsElementówTablic"]}} | _2 = Jeśli prawdziwa, to określa nazwane elementy poszczególnych tabel w tablicy ogólnie nazwanej, w przeciwnym wypadku numerowane.
| 3 = {{Code|args2.CzyNazwaneElementyTabel}} | _3 = Jeśli prawdziwe, łączy nazwane elementy tabel, mogą być określone liczbami naturalnymi, lub nie, w jedną tablicę.
| 4 = {{Code|args2.CzyTylkoNazwaneElementyTabel}} | _4 = Jeśli niepuste, łączy tylko nazwane elementy tabel.
| 5 = {{Code|args2.NazwijElementyNumerowane}} | _5 = Jeśli prawdziwe, to wśród elementów nienazwanych elementy numerowane traktuje je, jako nazwane, w przeciwnym wypadku takie elementy dodaje do zbioru elementów numerowanych łączonych tablic.
}}
Funkcje łączenia tabel w przeróźny sposób, zdefiniowane według:
{{OpisParametrów
| 1 = {{LinkŚródtytuł|p["ŁączZbioryNumerowanychElementówNienazwanychTabel"]}} | _1 = Łączy ponumerowane elementy tabel, tabel nazwanych liczbami naturalnymi.
| 2 = {{LinkŚródtytuł|p["ŁączZbioryNienazwanychElementówNienazwanychTabel"]}} | _2 = Łaczy nazwane tylko liczbami naturalnymi elementy tabel, tabel nazwanych liczbami naturalnymi.
| 3 = {{LinkŚródtytuł|p["ŁączZbioryNazwanychElementówNienazwanychTabel"]}} | _3 = Łączy tylko elementy nazwane tabel, tabel określonych liczbami naturalnymi.
| 4 = {{LinkŚródtytuł|p["ŁączZbioryNumerowanychElementówNumerowanychTabel"]}} | _4 = Łączy elementy ponumerowane tabel, tabel ponumerowanych liczbami naturalnymi.
| 5 = {{LinkŚródtytuł|p["ŁączZbioryNienazwanychElementówNumerowanychTabel"]}} | _5 = Łączy elementy nazwane tylko liczbami naturalnymi tabel, tabel ponumerowanych.
| 6 = {{LinkŚródtytuł|p["ŁączZbioryNazwanychElementówNumerowanychTabel"]}} | _6 = Łączy tylko elementy nazwane tabel, tabel ponumerowanych.
}}
Powyższe funkcje elementy nienazwane łączy w zbiory, ale nie jako elementy nazwane, tylko jako ponumerowane.
{{Hr}}
{{OpisParametrów
| 1 = {{LinkŚródtytuł|p["ŁączNumerowaneTabele"]}} | _1 = Łączy tabele ponumerowane.
| 2 = {{LinkŚródtytuł|p["ŁączNienazwaneTabele"]}} | _2 = Łączy tabele określone liczbami naturalnymi.
}}
Powyższe funkcje łączą w sposób dokładny wiele tabel, niezależnie z jak nazwanymi elementami, te nazwane jest nie tylko określone liczbami naturalnymi (one nie muszą być ponumerowane), ale też łańcuchami.
{{Hr}}
Działanie tych funkcji w powyższej wyliczance można rozszyfrować na podstawie ich nazw podanych w nawiasach kwadratowych w cudzysłowach.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
i38tdhayb4iv3zego90ou7b4rk88e87
Wikibooks:Moduły/Parametry/Tom X
4
63976
560548
556134
2026-11-04T08:07:10Z
Persino
2851
560548
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje dodawania lub usuwania elementów z tabeli o takich kluczach.
== {{Śródtytuł|p["UsuńElementyTabeli"]}}{{Code|p["UsuńElementyTabeli"]}} ==
Funkcja w tabelce {{Code|tabelka_1}} usuwa elementy, którego klucze są w {{Code|tabelka_2}}, któremu wartości przyporządkowane są obojętne, byle tylko, by nie były jako {{Code|nil}}. Najprościej gadając, wartości moją mieć w drugiej tabelce wartość {{Code|true}}, ale nie muszą takie być.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UsuńElementyTabeli"]=function(tabelka_1,tabelka_2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela_1}} | _1 = Tabela elementów.
| 2 = {{Code|tabela_2}} | _2 = Tabele, co za pomocą ich kluczy są usuwane elementy z tej pierwszej.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/UsuńElementyTabeli/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ev8g0gapxszjxqnqcw9403gm3x4ucwx
Wikibooks:Moduły/Parametry/Tom XI
4
63977
560549
557285
2026-11-04T08:07:52Z
Persino
2851
560549
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje tworzenia tabeli.
== {{Śródtytuł|p["TwórzTabelęBezPowtarzającychKluczyTabel"]}}{{Code|p["TwórzTabelęBezPowtarzającychKluczyTabel"]}} ==
Funkcja jest analogiem do: {{LinkŚródtytuł|p["UsuńElementyTabeli"]|Parametry/Tom X}}, dla jednej tabeli, a ta funkcja jest dla wielu, z tą różnicą, że jest tworzona nowa tabela.
Funkcja w tabelce: {{Code|args[1]}}, przy pomocy, której niej, tworzymy elementy, usuwa, tworząc nową tabelę, elementy, którego klucze są w tabelach o numerach większych od jedynki, któremu wartości przyporządkowane są obojętne, byle tylko, by nie były to jako {{Code|nil}}. Najprościej gadając, wartości moją mieć w drugiej tabelce wartość {{Code|true}}, ale nie muszą takie być.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TwórzTabelęBezPowtarzającychKluczyTabel"]=function(args)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args[1]}} | _1 = Tabela elementów.
| 2 = {{Code|args[2]}}, {{Code|args[3]}},... | _2 = Tabele od drugiej wzwyż, którym dzięki im kluczom są usuwane elementy z tej pierwszej.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/TwórzTabelęBezPowtarzającychKluczyTabel/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
nrjnb8eqkwfsqbporlfgz3z05e1ez2j
Wikibooks:Moduły/Parametry/Tom XII
4
63978
560550
556136
2026-11-04T08:09:30Z
Persino
2851
560550
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje typu.
== {{Śródtytuł|p.TypeTable}}{{Code|p.TypeTable}} ==
Funkcja sprawdza, czy typem zmiennej jest tabela w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrotowa funkcji:
<syntaxhighlight lang="lua">
function p.TypeTable(zmienna)
return (type(zmienna)=="table");
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna}} | _1 = Parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/TypeTable/}}.
== {{Śródtytuł|p.TypeFunction}}{{Code|p.TypeFunction}} ==
Funkcja sprawdza, czy typem zmiennej jest funkcja w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TypeFunction(zmienna)
return (type(zmienna)=="function");
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna}} | _1 = Parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/TypeFunction/}}.
== {{Śródtytuł|p.TypeString}}{{Code|p.TypeString}} ==
Funkcja sprawdza, czy typem zmiennej jest łańcuch znakowy w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TypeString(zmienna)
return (type(zmienna)=="string");
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna}} | _1 = Parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/TypeString/}}.
== {{Śródtytuł|p.TypeBoolean}}{{Code|p.TypeBoolean}} ==
Funkcja sprawdza, czy typem zmiennej jest typ logiczny w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TypeBoolean(zmienna)
return (type(zmienna)=="boolean");
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna}} | _1 = Parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/TypeBoolean/}}.
== {{Śródtytuł|p.TypeNumber}}{{Code|p.TypeNumber}} ==
Funkcja sprawdza, czy typem zmiennej jest liczba w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TypeNumber(zmienna)
return (type(zmienna)=="number");
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna}} | _1 = Parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/TypeNumber/}}.
== {{Śródtytuł|p.TypeNil}}{{Code|p.TypeNil}} ==
Funkcja sprawdza, czy typem zmiennej jest zmienna z przydzieloną wartością, której jest {{Code|nil}}, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TypeNil(zmienna)
return (type(zmienna)=="nil");
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna}} | _1 = Parametr, którego chcemy sprawdzić, czy pasuje do ściśle określonego typu według funkcji.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/TypeNil/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
0haa4y602aeeunxrk6ifa4xbg0mh4ex
Wikibooks:Moduły/Parametry/Tom XIII
4
63979
560551
556155
2026-11-04T08:11:00Z
Persino
2851
560551
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|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 prawdy i fałszu - ogólne przedstawienie ==
W funkcjach: {{LinkŚródtytuł|p["CzyTakCiąg"]}} i {{LinkŚródtytuł|p.CzyTak}}, uruchomione w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, muszą posiadać dodatkowo parametr {{Parametr|wyspecjalizowana|tak}}, aby dało się w je wsadzić skutecznie parametry do samej tej ramki dziecka, a nie używać parametry szablonu rodzica.
=== Wzajemna zależność ===
W tej pierwszej funkcji jest wykorzystywana ta druga, w której w tej pierwszej w parametrze pierwszym, w przypadku łańcuchów znakowych wykorzystywana jest funkcja do usuwania dolnych myślników i odstępów na końcach, a potem jest uruchamiana ta druga.
=== Uzyskiwane wyniki w zależności od sprawdzanego parametru - różne typy wartości pierwszej zmiennej ===
Funkcja rożróżnia różne typy danych, w zależności od niego dostosowuje procedurę sprawdzenia, czy zwrócić wartość odpowiadająca prawdzie, czy fałszowi.
==== Parametr typu {{Code|string}} ====
Czy wartość jest nierówna ciągowi uzyskanemu pustemu, w przypadku tej pierwszej funkcji, a w przypadku drugiej, czy nie jest ciągiem pustym.
==== Typu {{Code|number}} ====
Jeżeli jest to liczba, to czy jest nie równa {{Code|0}}.
==== Typu {{Code|boolean}} ====
Czy wartością logiczną jest jako {{Code|true}}.
==== Typu {{Code|table}} ====
Dla tabel, czy jest niepustą tabelą.
==== Typu {{Code|function}} ====
Ale za to w przypadku funkcji, czy funkcja o nazwie: {{Code|zmienna}} {{LinkPatrz|zmienna}}, z parametrami: {{Code|parametry}} {{LinkPatrz|parametry}}, czy ma zwracać wartość odpowiadającą prawdzie lub fałszowi.
=== Zwracane wartości ===
Jeżeli funkcja zwróci wartość odpowiadająca prawdziwej, to ta funkcja zwróci znak: {{Code|tak}}, w przeciwnym wypadku w wikikodzie zwraca wartość pustą, a w kodzie, {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, wartość: {{Code|false/nil}}.
== {{Śródtytuł|CzyTakSilnik}}{{Code|CzyTakSilnik}} ==
Funkcja pomocnicza służąca do liczenia wartości logicznej: {{Code|tak}}, lub {{Code|nil}} - co w wikikodzie odpowiada wartości równej ciągowi pustemu, parametrów ramki, w wikikodzie, {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, funkcji: w ramce: {{Code|{{m|Parametry|CzyTakCiąg}}}}, funkcji bibliotecznej: {{LinkŚródtytuł|p["CzyTakCiąg"]}}, i w ramce: {{Code|{{m|Parametry|CzyTak}}}}, funkcji bibliotecznej: {{LinkŚródtytuł|p.CzyTak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyTakSilnik(args,funkcja)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|args}} {{Patrz|args}} | _1 = Tablica elementów z pierwszym elementem do sprawdzenia, z drugim jako nazwa modułu z funkcjami {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w takim przypadku ten pierwszy element jest nazwą funkcji, który w połączeniu z nazwą modułu daje referencję do funkcji.
| 2 = {{Code|funkcja}} {{Patrz|funkcja}} | _2 = Funkcja, za pomocą której sprawdzamy logiczność pierwszego elementu tej tablicy.
}}
=== Możliwe wartości drugiego parametru - funkcji ===
Możliwymi wartościami funkcji parametru {{Code|funkcja}} jest {{Code|CzyTak}} lub {{Code|CzyTakCiąg}} (ta funkcja wykorzystuje funkcję {{LinkŚródtytuł|p["Odstępy"]|Parametry/Tom VI}} do swojego argumentu, który służy do sprawdzania, jaki spełnia warunek).
=== Sprawdzanie prawdziwości funkcji z jej zrzucanej, wartości ===
Gdy istnieje parametr tablicy: {{Code|args}} {{LinkPatrz|args}}, funkcji o parametrze nienazwanym {{Code|args[2]}}, który jest nazwą modułu z funkcjami {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a samą funkcją jest {{Code|args[1]}}, to tak utworzona funkcja jest zmienną: {{Code|parametr}} {{Patrz|parametr}}, a jeżeli jej nie ma, to ona przyjmuje wartość {{Code|args[1]}}, a gdy jednak istnieje ten drugi element, to na podstawie którego zbierane są argumenty ramki nazwane, jak i nienazwane.
W przypadku nazwanych parametrów, to tzn. klucze i ich wartości przypisuje, a w przypadku parametrów nienazwanych (nie są zbierane elementy w tej tablicy o kluczach o wartości: {{Code|1}} i {{Code|2}}), a te inne klucze są pomniejszane o dwa, w ten sposób jest utworzona tabela: {{Code|argsfun}} {{Patrz|argsfun}}.
Na podstawie tak zebranych danych możemy uruchomić funkcję:
<syntaxhighlight lang="lua">
return (parametry_modul[funkcja]{[1]=parametr,[2]=argsfun,})and "tak" or nil;
</syntaxhighlight>
Ona na podstawie wartości parametru funkcja: {{Code|funkcja}} {{LinkPatrz|funkcja}}, tymi możliwymi są: {{LinkŚródtytuł|p["CzyTakCiąg"]}} i {{LinkŚródtytuł|p.CzyTak}}, to wtedy tamjest sprawdzane prawdziwość wyniku zwróconego przez funkcję: {{Code|parametr}} {{LinkPatrz|parametr}}, w przypadku funkcji, której dajemy parametr: {{Code|argsfun}} {{LinkPatrz|argsfun}}, w tej pierwwszej odbywa się to pośrednio za pomocą tej drugiej, a w tej drugiej, to już bezpośrednio.
=== Brak składowej drugiej tablicy, co świadczy, że nie sprawdzamy funkcji, tylko co innego ===
==== Rewidowana jest liczba lub ciąg znaków liczba ====
Gdy nie ma składowej drugiej tablicy, tzn. {{Code|args[2]}}, to wtedy funkcja sprawdza, czy {{Code|args[1]}} to jest liczba w łańcuchu znakowym, lub bezpośrednio liczba.
==== Typ - ciag znaków ====
Jeżeli nie da się jej przetransformować na liczbę, to sprawdza, czy typem tej zmiennej jest {{Code|string}} (czy typem jest szereg). Po działaniu funkcją: {{LinkŚródtytuł|p["Odstępy"]|Parametry/Tom VI}}, jeśli ma wtedy wartość: {{Code|"true"}}, wtedy ta rozważana na samym początku zmienna przyjmuje wartość {{Code|true}}, {{Code|"false"}}, wtedy {{Code|false}}, {{Code|"nil"}}, wtedy {{Code|nil}}. A jeżeli ta zmienna żadnej tej wartości nie przyjmuje z tych wartości, to wtedy jest transformowana na liczbę, jeżeli da się tą operację dokonać.
=== Walidacja przygotowanych parametrów podaną funkcją ===
Na samym końcu jest liczona wartość logiczna z przygotowanymi parametrami, według jednej z dwóch specjalnie przygotowanych funkcji.
==== Przypadek uruchamiania funkcji w kodzie ====
W postaci wywołania ogólnego:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
return (parametry_modul[funkcja]{[1]=parametr,[2]=argsfun,})and "tak" or nil;
</syntaxhighlight>
Gdzie {{Code|funkcja}}, to {{Code|CzyTak}} lub {{Code|CzyTakCiąg}}, a {{Code|parametr}}, to funkcja w jakimś module lub inna wartość, a {{Code|argsfun}}, to tabela argumentów ramki, dziecka, w kodzie {{lpg|Lua}} w {{lpr|Scribunto}}, w wikikodzie w szablonie rodzicu. Gdy ta funkcja zwróci wartość logiczną odpowiadającą {{Code|true}}, to wtedy zwraca {{Code|tak}}, w przeciwnym wypadku {{Code|nil}}.
==== Procedura zwracając wartość z ramki wikikodu ====
Ta funkcja jest wykorzystywana, gdy jest uruchamiana w ramce, gdy mamy parametry ramki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Parametry|CzyTakCiąg| Wartość |nazwa1=wartość1|nazwa2=wartość2|wartość3|wartość4|wyspecjalizowana=tak}}
</syntaxhighlight>
Podobnie jest z funkcją {{LinkŚródtytuł|p.CzyTak}}.
A jak jest tworzony parametr zmiennej z powyższych wywołań, to jest powiedziane powyżej.
=== Atrapa funkcji parametrów ramki rodzica (szablonu) ===
Równie dobrze możemy zefiniować atrapę funkcji {{Code|frame.getParent}}, wtedy:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local czy_tak=parametry_modul["CzyTakCiąg"]{args={
[1]=" Wartość ",
[2]="",
["nazwa1"]="wartość1",
["nazwa2"]="wartość2",
[3]="wartość3",
[4]="wartość4",
["wyspecjalizowana"]="tak",
},
getParent=function()end,
};
</syntaxhighlight>
Czasami tak potrzeba robić, by ominąć zabezpieczenia pewnych funkcji, nawet tutaj.
== {{Śródtytuł|p["CzyTakCiąg"]}}{{Code|p["CzyTakCiąg"]}} ==
W tej funkcji parametry mogą być zbierane w osobnych parametrach lub w jednej tablicy albo ta funkcja może być uruchomiona w ramce. Funkcja do swojego działania wykorzystuje do tego {{LinkŚródtytuł|p["Odstępy"]|Parametry/Tom VI}} i {{LinkŚródtytuł|p.CzyTak}}.
Funkcja sprawdza, czy strimowany ciąg, czy jest nierówny ciągowi pustemu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["CzyTakCiąg"]=function(...)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna}} lub {{Code|1}} {{Patrz|zmienna}} | _1 = Funkcja - typ: {{Code|function}}, lub inna wartość sprawdzana, np. {{Code|string}}, czy odpowiada wartości prawdziwej.
| 2 = {{Code|parametry}} lub {{Code|2}} {{Patrz|parametry}} | _2 = Parametry funkcji sprawdzanej, gdy zmienna: {{Code|zmienna}} {{LinkPatrz|zmienna}}, jest funkcją.
}}
Funkcja, gdy jest uruchamiania w ramce, to wtedy elementem sprawdzany jest tablica ramki tablicy transportu modułu, a ponieważ ma ona w sobie zdefiniowaną funkcję: {{LzLua|frame:getParent}}, to wtedy jest uruchamiania funkcja: {{LinkŚródtytuł|CzyTakSilnik}}, z drugim parametrem: {{Code|CzyTakCiąg}}.
=== Funkcja uruchamiania w ramce wikikodu ===
==== Normalne znaki z odstępami ====
Jeżeli ta funkcja jest uruchomiona w ramce, np. w postaci:
<syntaxhighlight lang="mediawiki">
{{#invoke:Parametry|CzyTakCiąg| Wartość |wyspecjalizowana=tak}}
</syntaxhighlight>
===== Przykład przy pomocy szablonu z definicją z użytą tą funkcją =====
* Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/CzyTakCiąg/}}.
==== Ciąg składający się z samych odstępów - wartość zwracana ====
<syntaxhighlight lang="mediawiki">
{{#invoke:Parametry|CzyTakCiąg| |wyspecjalizowana=tak}}
</syntaxhighlight>
===== Przykład przy pomocy szablonu z definicją z użytą tą funkcją =====
* Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/CzyTakCiąg/}}.
==== Ciąg nie składający się z samych znaków i odstępów ====
<syntaxhighlight lang="mediawiki">
{{#invoke:Parametry|CzyTakCiąg||wyspecjalizowana=tak}}
</syntaxhighlight>
===== Przykład przy pomocy szablonu z definicją z użytą tą funkcją =====
* Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/CzyTakCiąg/}}.
=== Funkcja uruchamiania w postaci funkcji bibliotecznej ===
==== Ciąg z treściwymi znakami z odstępami ====
Podobnie jest w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, czyli:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local czy_tak=parametry_modul["CzyTakCiąg"](" Wartość ");
</syntaxhighlight>
===== Przykład kodu na stronie modułów z przykładami na stronie ich opisów =====
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/CzyTakCiąg/}}.
==== Brak takich znaków, tylko same odstępy ====
A teraz inny przykład:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local czy_tak=parametry_modul["CzyTakCiąg"](" ");
</syntaxhighlight>
===== Przykład kodu na stronie modułów z przykładami na stronie ich opisów =====
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/CzyTakCiąg/}}.
==== Brak żadnych znaków ====
A teraz inny przykład:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local czy_tak=parametry_modul["CzyTakCiąg"]("");
</syntaxhighlight>
===== Przykład kodu na stronie modułów z przykładami na stronie ich opisów =====
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/CzyTakCiąg/}}.
== {{Śródtytuł|p.CzyTak}}{{Code|p.CzyTak}} ==
W tej funkcji parametry mogą być zbierane w osobnych parametrach lub w jednej tablicy albo ta funkcja może być uruchomiona w ramce. Funkcja do swojego działania nie wykorzystuje do tego {{LinkŚródtytuł|p["Odstępy"]|Parametry/Tom VI}}, tak jak to robi {{LinkŚródtytuł|p["CzyTakCiąg"]}}.
Funkcja sprawdza, czy niestrimowany ciąg, czy jest nierówny ciągowi pustemu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.CzyTak=function(...)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|zmienna}} lub {{Code|1}} - {{LinkPatrz|zmienna}} | _1 = Sprawdzana zmienna, może być to funkcją.
| 2 = {{Code|parametry}} lub {{Code|2}} - {{LinkPatrz|parametry}} | _2 = Parametry funkcji, może być to tablica parametrów, jest on wykorzystywany, gdy powyższy element: {{Code|zmienna}} {{LinkPatrz|zmienna}}, jest funkcją.
}}
W przypadku uruchamiania funkcji w ramce, wtedy parametrem pierwszym tej funkcji jest tablica ramka wikikodu {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, więc ma w sobie zdefiniowaną funkcję: {{LzLua|frame:getParent}}, stąd wtedy jest stosowana funkcja lokalna: {{LinkŚródtytuł|CzyTakSilnik}}, z drugim parametrem: {{Code|CzyTak}}.
=== Funkcja działająca w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} ===
==== Ciąg niepusty z treściwymi znakami z odstępami ====
Jeżeli ta funkcja jest uruchomiona w ramce, np. w postaci:
<syntaxhighlight lang="mediawiki">
{{#invoke:Parametry|CzyTak| Wartość |wyspecjalizowana=tak}}
</syntaxhighlight>
===== Przykład przy pomocy szablonu z definicją z użytą tą funkcją =====
* Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/CzyTak/}}.
==== Ciąg z samych znaków odstępów ====
A w przypadku:
<syntaxhighlight lang="mediawiki">
{{#invoke:Parametry|CzyTak| |wyspecjalizowana=tak}}
</syntaxhighlight>
===== Przykład przy pomocy szablonu z definicją z użytą tą funkcją =====
* Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/CzyTak/}}.
==== Ciąg pusty - jego rewidowanie ====
<syntaxhighlight lang="mediawiki">
{{#invoke:Parametry|CzyTak||wyspecjalizowana=tak}}
</syntaxhighlight>
===== Przykład przy pomocy szablonu z definicją z użytą tą funkcją =====
* Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/CzyTak/}}.
=== W postaci funkcji bibliotecznej - nie ramki ===
==== Treściwe znaki z odstępami ====
Podobnie jest w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, czyli:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local czy_tak=parametry_modul.CzyTak(" Wartość ");
</syntaxhighlight>
===== Przykład kodu na stronie modułów z przykładami na stronie ich opisów =====
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/CzyTak/}}.
==== Same odstępy ====
A teraz inny przykład:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local czy_tak=parametry_modul.CzyTak(" ");
</syntaxhighlight>
===== Przykład kodu na stronie modułów z przykładami na stronie ich opisów =====
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/CzyTak/}}.
==== Ciąg pusty ====
A teraz inny przykład:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local czy_tak=parametry_modul.CzyTak("");
</syntaxhighlight>
===== Przykład kodu na stronie modułów z przykładami na stronie ich opisów =====
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/CzyTak/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
iopdd39nqpj1hd353qbejgitul66n35
Wikibooks:Moduły/Parametry/Tom XIV
4
63980
560552
556146
2026-11-04T08:13:31Z
Persino
2851
560552
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje parametrów, ściągające parametry z ramki, {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, rodzica lub ich dziecka, tablicy albo tabeli parametrów funkcji.
== {{Śródtytuł|p.PobierzFrameEwentualnieParent}}{{Code|p.PobierzFrameEwentualnieParent}} ==
Argument tej funkcji {{Code|frame}} koniecznie musi być tablicą, w przypadku przeciwnym wywoła to błąd języka {{lpg|Lua}}, że z wartości nietabelowej chcemy wyliczyć jego nieistniejący element {{Code|getParent}}, który ma prawo nie być.
Funkcja pobiera parametry ramki szablonu rodzica, a nie dziecka, a jeżeli w dziecku w ramce w wikikodzie w szablonie podamy specjalny parametr {{Parametr|wyspecjalizowana|tak}}, to wtedy ta funkcja ściąga parametry ramki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PobierzFrameEwentualnieParent(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki tablicy transportu.
}}
=== Sterowanie funkcją ===
Tą funkcją można sterować ze strony ramki tym właśnie specjalnym parametrem o wartości niepustej, którą jest {{Parametr|wyspecjalizowana|tak}}.
==== Przykłady wykorzystania z parametrem sterującym ====
W ramce podajemy argumenty wraz z tym specjalnym parametrem:
<syntaxhighlight lang="mediawiki">
{{#invoke:Nazwa modułu|Nazwa funkcji|nazwa1=wartość1|nazwa2=wartość2|wartość3|wartość4|wartość5|wyspecjalizowana=tak}}
</syntaxhighlight>
To wtedy w kodzie w {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w module o nazwie {{Code|Nazwa modułu}}, piszemy:
<syntaxhighlight lang="lua">
local p={};
function p["Nazwa funkcji"](frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzFrameEwentualnieParent(frame).args;
....
end;
</syntaxhighlight>
To wtedy w kodzie ściągane parametry ramki dziecka.
=== Pobieranie oryginalnej tablicy ===
Tę funkcję można równie dobrze wykorzystać do zwykłych tabel:
<syntaxhighlight lang="lua">
local tabela={["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",};
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzFrameEwentualnieParent(tabela);
</syntaxhighlight>
=== Możliwość tej samej funkcji uruchomioną w ramce lub z podaniem do niej pewnego zestawu parametrów w postaci tablicy ===
A w tym przypadku ta funkcja nic nie robi, tylko zmienna {{Code|args}} referencyjnie wskazuje na tablicę {{Code|tablica}}. Ale można ją wykorzystać, gdy by funkcja {{Code|Nazwa funkcji}}, była uruchomiona ze zwykłą tablicą, ale z możliwością, że to może być tablicą ramki {{Code|frame}} tablicy transportu, np.:
<syntaxhighlight lang="lua">
--- Pierwsza możliwość;
local wartosc1=p["Nazwa funkcji"](frame);
-- Druga możliwość
local wartosc2=p["Nazwa funkcji"]{["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",};
</syntaxhighlight>
=== Niedogodności stosowania z funkcji ===
Dla obu jest taka niedogodność, że jedynie jest taka nieprawidłowość, że w przypadku parametru tablicy ramki tablicy transportu należy podawać uzyskany element {{Code|args}}, a w przypadku zwykłej tablicy już nie, tą niedokodność rozwiązuje funkcja: {{LinkŚródtytuł|p.PobierzArgsParametry}}.
== {{Śródtytuł|p.PobierzArgsParametry}}{{Code|p.PobierzArgsParametry}} ==
Argument tej funkcji {{Code|frame}} koniecznie nie musi być tablicą, bo wtedy nie wywoła to błędu języka {{lpg|Lua}}, że z wartości nietabelowej chcemy wyliczyć jego niepusty element {{Code|getParent}}, bo przedtem sprawdzana jest w tej funkcji, czy jest to tablica.
W definicji tej funkcji zmienna uzyskana z funkcji: {{LinkŚródtytuł|p.PobierzFrameEwentualnieParent}}, a jeśli jej składowa {{Code|args}} jest tablicą, to jest właśnie ona zwracana, a jeśli istnieje, ale nie jest tablicą, lub ona nie istnieje, to wtedy brana jest właśnie wartość tablicowa {{Code|frame}}, jeśli jest ona taka, a gdy nie, to wtedy z tej funkcji tutaj nie korzystamy.
Funkcja pobiera parametry ramki szablonu rodzica, a nie dziecka, a jeżeli w dziecku w ramce w wikikodzie w szablonie podamy specjalny parametr {{Parametr|wyspecjalizowana|tak}}, to wtedy ta funkcja ściąga parametry ramki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PobierzArgsParametry(frame, czy_nie_tablica_jako_tablica)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica transportu ramki.
| 2 = {{Code|czy_nie_tablica_jako_tablica}} | _2 = Czy wartości nietablicowe umieszczać w jednoelemenowej tabeli.
}}
=== Opis działania ===
Funkcja wykorzystuje wspomnianą powyżej funkcję do swojego działania, ona jest wtedy aktywowana, gdy zmienna {{Code|frame}} jest tablicą, i jest sprawdzane, czy ona posiada nazwany element o kluczu {{Code|args}}, i czy jest on tablicowy.
Jeżeli wartością zmiennej {{Code|frame}} nie jest tablica, ale nie przybiera wartości {{Code|nil}}, to ona jest umieszczana w tablicy, jeżeli zmiennej {{Code|czy_nie_tablica_jako_tablica}} przydzielimy wartość {{Code|true}}, w przeciwnym wypadku zwracana jest ona w postaci niezmienionej, a jeżeli wartość tej zmiennej nie istnieje, to zwracana jest zwykła tablica pusta.
Tą funkcją można sterować ze strony ramki tym właśnie specjalnym parametrem o wartości niepustej.
=== Przykład wywołania funkcji z funkcją parametrów ===
W ramce podajemy argumenty wraz z tym specjalnym parametrem:
<syntaxhighlight lang="mediawiki">
{{#invoke:Nazwa modułu|Nazwa funkcji|nazwa1=wartość1|nazwa2=wartość2|wartość3|wartość4|wartość5|wyspecjalizowana=tak}}
</syntaxhighlight>
==== Użycie funkcji parametrów ====
To wtedy w kodzie w {{lpg|Lua}} w {{lpr|Lua|Scribunto}} w module o nazwie {{Code|Nazwa modułu}}, piszemy:
<syntaxhighlight lang="lua">
local p={};
function p["Nazwa funkcji"](frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
....
end;
</syntaxhighlight>
To wtedy w kodzie ściągane parametry ramki dziecka.
=== Wykorzystanie fukcji w różnych sytuacjach ===
; Przypadek pierwszy{{dk}}
Tę funkcję można równie dobrze wykorzystać do zwykłych tabel:
<syntaxhighlight lang="lua">
local tabela={["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",};
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(tabela);
</syntaxhighlight>
; Drugi przypadek{{dk}}
A w tym przypadku ta funkcja nic nie robi, tylko zmienna {{Code|args}} referencyjnie wskazuje na tablicę {{Code|tablica}}. Ale można ją wykorzystać, gdyby funkcja {{Code|Nazwa funkcji}}, była uruchomiona ze zwykłą tablicą, ale z możliwością, że to może być tablicą ramki {{Code|frame}} tablicy transportu, np.:
<syntaxhighlight lang="lua">
--- Pierwsza możliwość;
local wartosc1=p["Nazwa funkcji"](frame);
-- Druga możliwość
local wartosc2=p["Nazwa funkcji"]{["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",};
</syntaxhighlight>
=== Usunięcie niedogodności ===
Dla obu tych przypadków nie ma żadnej niedogodności, jak to występowała w: {{LinkŚródtytuł|p.PobierzFrameEwentualnieParent}}.
=== Parametr funkcji nietablicowy ===
Jeśliby do funkcji tablicy transportu dać wartość równą nie tablicy, to wtedy równoważnie możemy napisać:
<syntaxhighlight lang="lua">
local wartosc="wartość";
local wynik=p["Nazwa funkcji"](wartosc);
</syntaxhighlight>
to wtedy definicję tej funkcji piszemy:
<syntaxhighlight lang="lua">
local p={};
function p["Nazwa funkcji"](frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame,true);
local wartosc=args[1];
end;
</syntaxhighlight>
lub równoważnie możemy zapisać:
<syntaxhighlight lang="lua">
local p={};
function p["Nazwa funkcji"](frame)
local parametry_modul=require("Module:Parametry");
local wartosc=parametry_modul.PobierzArgsParametry(frame);
end;
</syntaxhighlight>
=== Brak parametrów funkcji ===
A jeżeli nie wsadziliśmy żadnej wartości do funkcji ramki tablicy transportu lub tą wartością jest {{Code|nil}}, wtedy:
<syntaxhighlight lang="lua">
local wynik=p["Nazwa funkcji"]();
</syntaxhighlight>
wtedy definicja tej funkcji wygląda:
<syntaxhighlight lang="lua">
local p={};
function p["Nazwa funkcji"](frame)
local parametry_modul=require("Module:Parametry");
-- Zmienna: args, wskazuje na wartość, którą jest tablicą pustą, tzn. w tej tablicy nie ma wcale elementów;
local args=parametry_modul.PobierzArgsParametry(frame);
end;
</syntaxhighlight>
=== Zmienna {{Code|args}} - alternatywny przypadek dla wartości tablicowych niż te bez drugiego parametru ===
Widzimy, że wtedy zmienna {{Code|args}} jest normalną, niekoniecznie niepusta, tablicą, i nie musimy wtedy wcale pisać drugiego parametru w tej fubkcji, bo wtedy wychodzi w tym przypadku na to samo:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame,true);
</syntaxhighlight>
=== Różnica drugiego parametru w przypadku wartości nietablicowych ===
Argument drugi w: {{LinkŚródtytuł|p.PobierzArgsParametry}}, który w naszym przypadku musi mieć wartość {{Code|true}}, a wtedy jest jedynie sens, gdy {{Code|frame}} nie jest tablicą, i gdy chcemy tą wartość umieścić w tablicy, a nie powtórzyć wartość, tzn. chcemy napisać: {{Code|{{(}}frame,{{)}}}}, w przeciwnym wypadku musilibyśmy napisać coś w rodzaju, zamiast tak spreparowanej tablicy: {{Code|frame}}, czyli:
<syntaxhighlight lang="lua">
-- Pierwszy przypadek, gdy frame jest wartością nietablicową;
local parametry_modul=require("Module:Parametry");
...
-- Zwracana wartość: args, to nic innego niż: {frame,};
local args=parametry_modul.PobierzArgsParametry(frame,true);
...
-- Zwracana wartość: args, to nic innego niż: frame, a nie {frame,}, jak poprzednio;
local args=parametry_modul.PobierzArgsParametry(frame);
</syntaxhighlight>
== {{Śródtytuł|p.PobierzParametryRamki}}{{Code|p.PobierzParametryRamki}} ==
Funkcja służy do pobierania parametrów ramki dziecka, nie rodzica.
Funkcja służy do ustawienia pewnych domyślnych dwóch pewnych funkcji służących do pobieranie danych z tabelki z pierwszej tej funkcji:
* Jeżeli ona posiada klucz o wartości {{Code|args}},
** to zwracana jest ta właśnie tablica jako argument pierwszej tej funkcji, jeżeli jest w ogóle tablicą,
** w przeciwnym wypadku zwracana jest ta oryginalna tablica, też jako argument tej funkcji,
* w przeciwnym dalszym wypadku zwracana jest zwracana wartość ta, jako argument tej drugiej funkcji, która zwraca prawdziwą wartość z argumentu tylko za pierwszym razem, z tej funkcji, za następnym i dalszym razem {{Code|nil}}.
Z tak utworzonej ogólnie większej funkcji wykorzystywana jest w budowie omawianej funkcji, która jest zwracana przez omawianą funkcję, która względem jego budowy wywołuje raz pierwszą albo drugą poprzednią wspomnianą funkcję zależną od rodzaju zmiennej {{Code|frame}}, która może być tabelką, ale nie musi być.
Ta funkcja zwracana przez funkcję w nagłówku przyjmuje argument, która jest kluczem do tych wspomnianych, może że,
* tabel (dokładnie, która ta może tabelka to zależy od formatu tej naszej rozważanej zmiennej),
* a jeżeli to nie tabelka, co jest zwracane, to już zostało powiedziane.
Definicja skrótowa tej funkcji jest:
<syntaxhighlight lang="lua">
function p.PobierzParametryRamki(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki tablicy transportu.
}}
Weźmy ramkę sformułowaną w wikikodzie jako dziecko w szablonie rodzicu:
<syntaxhighlight lang="mediawiki">
{{#invoke:Nazwa modułu|Nazwa funkcji|nazwa1=wartość1|nazwa2=wartość2|wartość3|wartość4|wartość5}}
</syntaxhighlight>
=== Funkcje, z funkcją parametrów, z tablicą ramki lub one z podtablicą {{Code|args}} ===
To wtedy tablica ramki tablicy transportu posiada właśnie {{Code|frame}}, która jest tablicą, i na pewno posiada tablicę o nazwie {{Code|args}}, to wtedy tę funkcję wywołaną w ramce, która wywołuje funkcję w nagłówku, formułujemy:
<syntaxhighlight lang="lua">
local p={};
local p["Nazwa funkcji"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametryRamki=parametry_modul.PobierzParametryRamki(frame);
...
end;
</syntaxhighlight>
==== Przykład wywołania funkcji z funkcją parametrów z tablicą {{Code|args}} ====
Równie dobrze funkcję z ramki można wywołać w sposób, co wtedy ta funkcja też zostanie wywołana pozytywnie:
<syntaxhighlight lang="lua">
local wynik=p["Nazwa funkcji"]{args={["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",}};
</syntaxhighlight>
W tej funkcji nie trzeba definiować funkcji fałszywej {{Code|getParent}}, w postaci: {{Code|getParent{{=}}function()end}}. Widzimi, że ta tablica posiada nazwę zmiennej tablicowej o nazwie {{Code|args}}, ale ona nie jest tablicą ramki tablicy transportu, ale tą tablicę możemy bezposrednio wsadzić w tą główną tablicę w samym argumencie funkcji.
==== Przykład wywołania z tablicą bez podtablicy {{Code|args}} ====
Równie dobrze możemy wywołać tę funkcję zdefiniowaną naszą w jakimś module w sposób:
<syntaxhighlight lang="lua">
local tabela={["nazwa1"]="wartość1",["nazwa2"]="wartość2","wartość3",};
local wynik=p["Nazwa funkcji"]{tabela);
</syntaxhighlight>
Też ta funkcja prawidłowo się wywoła. W tym przypadku, jak i w przypadkach powyżej, wyniki uzyskuje się w następującym wywołaniach:
<syntaxhighlight lang="lua">
--- Zmienna: wartosc1, przyjmuje wartość: "wartość1";
local wartosc1=PobierzParametryRamki("nazwa1");
--- Zmienna: wartosc2, przyjmuje wartość: "wartość2";
local wartosc2=PobierzParametryRamki("nazwa2");
--- Zmienna: wartosc3, przyjmuje wartość: "wartość3";
local wartosc3=PobierzParametryRamki(1);
</syntaxhighlight>
==== Przykład wywołania funkcji z wartością nietablicową ====
W innym przypadku wywołań funkcji ramki jest wsadzenie do niej zwykłego nietablicowego elementu, może być też to wartość: {{Code|nil}}. A to wywołanie jest:
<syntaxhighlight lang="lua">
local wartosc="wartość";
--Zmienna: wartosc, nie jest w tym przypadku tablicą;
local wynik=p["Nazwa funkcji"](wartosc);
</syntaxhighlight>
=== Wywołania funkcji parametrów bez argumentów - wiele kolejnych wywołań jednocześnie ===
Wtedy w tej ramce w celu uzyskania, jakikolwiek wartości jest przykład wywołania tej funkcji zwracanej przez funkcję w ramce z argumentem pustym.
<syntaxhighlight lang="lua">
-- Zmienna: wartość1, przyjmuje wartość: "wartość"; Jeżeli ona, przyjmuje wartość: nil, to wywołanie rzuci: nil, i za każdym następny razem;
local wartosc1=PobierzParametryRamki();
-- Zmienna: wartość2, przyjmuje wartość: nil;
local wartosc2=PobierzParametryRamki();
</syntaxhighlight>
W wywołaniach powinno dbać się o właściwą kolejność wywołań, bo argumentem funkcji z tablicy transportu może być zwykła tablicowa wartość. Najpierw uzyskujemy wartości nietablicowe, a później tablicowe, na wypadek niewiadomej {{Code|frame}} jakiego typu ma być wartość.
=== Dwa przypadki, parametr w tablicy, lub wartość nietablicowa funkcji ===
Też ta zmienna może istnieć pod kilkoma możliwymi kluczami, lub tą zmienną może być jedyny argument funkcji, która jest nietablicową wartością, wtedy ją się wywołuje jako dla przypadku, gdy parametr jest nietablicowy lub jest pod kluczem {{Code|tekst}}:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)("tekst");
</syntaxhighlight>
=== Przypadek, gdy parametr funkcji nie jest tablicą ===
Lub chcemy tę funkcję wywołać bezparametrowo, gdy chcemy, by {{Code|frame}} nie była tablicą:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local tekst=parametry_modul.PobierzParametryRamki(frame)();
</syntaxhighlight>
=== Omówienie przypadku istnienia tego samego wariantu zmiennej raz podtablicą, a raz jako zmienna nietablicowa ===
* Wtedy ta zmienna w przedostatnim przykładzie jest pod wartością {{Code|tekst}}, gdy wartość {{Code|frame}} jest tablicą,
* lub może być jedyną wartością, którą jest {{Code|frame}}, jako zmienna nietablicowa, wtedy ta zmienna też jest pod {{Code|tekst}},
** ta funkcja uzyskana z: {{LinkŚródtytuł|p.PobierzParametryRamki}}, wtedy może być wywołana tylko raz z nienilową wartością zwracaną, następnym razem zwraca wartość {{Code|nil}}, wtedy to dotyczy przedostatniego i ostatniego przykładu.
=== Jakma liczyć element funkcji w przypadku różnych jej parametrów ===
Jeżeli {{Code|frame}} jest nietablicowa, to wtedy wartość {{Code|tekst}} jest taka sama, co {{Code|frame}}. A jeżeli jest tablicą, to ta wartością jest {{Code|frame.args["tekst"]}}, lub gdy {{Code|args}} nie istnieje, lub istnieje, ale jest nietablicowa, to wtedy ta wartość jest {{Code|frame["tekst"]}}.
=== Parametry alternatywne funkcji - przykład wykorzystania funkcji parametrów ===
A gdy zmienne istnieją pod wieloma kluczami, lub gdy funkcję wywołano ze zmienną nietablicową, wtedy ogólnie możemy dla przykładu powiedzieć:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local PobierzParametryRamki=parametry_modul.PobierzParametryRamki(frame);
local wartosc1=PobierzParametryRamki("nazwa1") or PobierzParametryRamki(1);
local wartosc2=PobierzParametryRamki("nazwa2") or PobierzParametryRamki(2);
local wartosc3=PobierzParametryRamki("nazwa3") or PobierzParametryRamki(3);
</syntaxhighlight>
* Wtedy ta zmienna jest pod kluczem, np.: {{Code|nazwa1}} lub {{Code|1}}, tablicy ramki {{Code|frame}} tablicy transportu, następne wywołania dla następnych kluczy też zrzucą pewne wartości,
* lub jest ona zwykłą nietablicową wartością mogącą być równą, nawet {{Code|nil}}.
----
* Następne wywołania uzyskanej tak funkcji w przypadku, gdy {{Code|frame}} jest nietablicowy, rzucać będzie z samej definicji funkcji wartości {{Code|nil}}, czyli {{Code|wartosc2{{=}}wartosc3{{=}}nil}}, ale za to wartość {{Code|wartosc1}} nie musi być, ale może, wartością {{Code|nil}}, jeśli tą wartością jest, gdy {{Code|frame{{=}}nil}},
* w przeciwnym wypadku za pierwszym razem tej wartości nietablicowej uzyskamy wartość nie {{Code|nil}}, a za drugim i dalszym zawsze wartość {{Code|nil}}.
== {{Śródtytuł|p.PobierzElementNumerowanyZFrameLubTablicy}}{{Code|p.PobierzElementNumerowanyZFrameLubTablicy}} ==
Definicja skrótowa funkcji jest z parametrem charakteryzującym pewien zestaw zmiennych {{Code|frame}}:
* które nie musi być tablicą ramki tablicy transportu, tylko może być innym parametrem, który jest tablicą parametrów podanych do funkcji,
* nawet gdy parametrem podanym do funkcji, w której wykorzystujemy tą funkcję, jest jedyna zmienna będąca tablicą ramki.
Ale z drugiej strony, tak nie musi być, może być to rozbudowany zestaw zmiennych, np. nazwanych i nienazwanych, którego wszystkie sposoby podawania łączymy jednym sposobem podawania. Mimo że parametry funkcji są parametrami nienazwanymi, mogą być one ponumerowane, ale zmienna w tablicy może przyjmować wartość tą samą na różne sposoby, raz w sposób nazwany, a za innym sposobem jako nienazwany.
Ogólnie ostateczne parametry łączymy w dane parametry za pomocą jednego sposobu, tzn. za pomocą tej funkcji, i dla tak uzyskanej tablicy tworzymy funkcję zwracaną przez funkcję w nagłówku, która przyjmuje parametr, który jest kluczem tej uzyskanej tablicy.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PobierzElementNumerowanyZFrameLubTablicy(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki tablicy transportu.
}}
Weźmy najprostszy sposób realizacji tej funkcji, w realizacji: {{Code|1-1, 2-2, 3-3}}, czyli ten opis jest zaraz poniżej.
=== Sposoby wywołania funkcji ===
; Pierwszy sposób{{dk}}
Weźmy funkcję, którą można wywoływać z wieloma parametrami, jak i w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, którą przykładowo piszemy jego wywołanie wewnątrz innej funkcji na pięć sposobów, czyli teraz pierwszy sposób z tylko z parametrem, więc tablicą ramki tablicy transportu wywodzącą się z ramki uruchomioną w wikikodzie w jakimś szablonie rodzicu:
<syntaxhighlight lang="lua">
local wynik=p["Nazwa funkcji"](frame);
</syntaxhighlight>
; Drugi sposób{{dk}}
A teraz drugi sposób, pisząc, bezpośrednio inaczej, formułując wywołanie tej funkcji, używając zmiennych tablicowych tablicy ramki, ale to nie jest tak naprawdę tablica ramka tablicy transportu, tylko parametr podany bezpośrednio do funkcji, tak jak się to robi w języku {{lpg|Lua}}, nie jak w przykładzie powyżej, więc:
<syntaxhighlight lang="lua">
local wynik=p["Nazwa funkcji"]{args={"wartość1","wartość2","wartość3",},};
</syntaxhighlight>
; Trzeci sposób{{dk}}
Lub równoważnie, pisząc, nie używając zmiennej {{Code|args}}:
<syntaxhighlight lang="lua">
local wynik=p["Nazwa funkcji"]{"wartość1","wartość2","wartość3",};
</syntaxhighlight>
; Czwarty sposób{{dk}}
Albo te parametry wsadzając do funkcji:
<syntaxhighlight lang="lua">
local wynik=p["Nazwa funkcji"]("wartość1","wartość2","wartość3");
</syntaxhighlight>
; Piąty sposób{{dk}}
Można też wywołać to wszystko w ramce, {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w wikikpdzie, wtedy wsadzając parametry do ramki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Nazwa modułu|Nazwa funkcji|wartość1|wartość2|wartość3}}
</syntaxhighlight>
=== Omówienie pobierania takich parmetrów ===
A jak połączyć wszystkie te pięć sposobów, posługiwać się tymi sposobami wewnątrz funkcji {{Code|Nazwa funkcji}} w sposób jednolity, jedynie wtedy należy skorzystać z funkcji z definiowaną w jakimś module w sposób:
<syntaxhighlight lang="lua">
local p={};
p["Nazwa funkcji"]=function(...)
local tablica_prametrow_funkcji={...};
local parametry_modul=require("Module:Parametry");
local PobierzElementNumerowanyZFrameLubTablicy=parametry_modul.PobierzElementNumerowanyZFrameLubTablicy(tablica_prametrow_funkcji);
...
end;
</syntaxhighlight>
Wtedy za pomocą zmiennej {{Code|PobierzElementNumerowanyZFrameLubTablicy}} dostaliśmy się do funkcji, która przyjmuje jedyny parametr, aby dostać się do elementów tablicy uzyskanej w wewnątrz tej funkcji, zdefiniowaną w tablicy {{Code|tablica_prametrow_funkcji}}, która jest nic innym jak zestawem parametrów w funkcji: {{Code|Nazwa funkcji}}.
=== Omówienie sposobów wykorzystywania, robienia tego samego, na różne warianty ===
* W pierwszym i drugim sposobem zmienną tą nazwijmy to jako {{Code|args}}, jest zmienną z podtablicy innego {{Code|args}} przekazanych jako parametr tablicy do funkcji,
* w trzecim sposobie tą zmienną jest cała tablica,
* a czwartym jest zestaw parametrów ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
A czym się różnią się te sposoby, a więc te sposoby można powiązać jedną tylko funkcją powiedzianą w nagłówku według przykładu podaną zaraz powyżej, wtedy możemy dostawać się do tych samych zmiennych o takich samych nazwach i wartościach, ale w różnych reprezentacjach na różne sposoby, wtedy można powiedzieć, że:
<syntaxhighlight lang="lua">
args[1]="wartość1";
args[2]="wartość2";
args[3]="wartość3";
</syntaxhighlight>
=== Ogólny opis stosowania funkcji ===
Czyli w wyniku działania funkcji w nagłówku, otrzymamy funkcję zwracającą te wartości, która operuje na tej tablicy, której wynikiem jest zestaw zmiennych ponumerowanych, ogólnie nienazwanych, której wartości odpowiadają te podane w ramce ostatniej powyżej.
Na podstawie tego wiemy, jak działa funkcja ta z nagłówka.
=== Nazwy alternatywne danych parametrów funkcji ramki {{lpg|Lua}} w {{lpr|Lua|Scribunto}} ===
Pisząc w inny sposób, można też wskazywać:
<syntaxhighlight lang="lua">
local p={};
p["Nazwa funkcji"]=function(...)
local tablica_prametrow_funkcji={...};
local parametry_modul=require("Module:Parametry");
local PobierzElementNumerowanyZFrameLubTablicy=parametry_modul.PobierzElementNumerowanyZFrameLubTablicy(tablica_prametrow_funkcji);
local wartosc1=PobierzElementNumerowanyZFrameLubTablicy("nazwa1") or PobierzElementNumerowanyZFrameLubTablicy(1);
local wartosc2=PobierzElementNumerowanyZFrameLubTablicy("nazwa2") or PobierzElementNumerowanyZFrameLubTablicy(2);
local wartosc3=PobierzElementNumerowanyZFrameLubTablicy("nazwa3") or PobierzElementNumerowanyZFrameLubTablicy(3);
end;
</syntaxhighlight>
Zmienne w przykładzie o kluczach: {{Code|nazwa1}}, {{Code|nazwa2}} i {{Code|nazwa3}}, posiadające pewne swoje wartości, to są zmienne w tablicy {{Code|tablica_prametrow_funkcji}}, podane też jako zmienne, jako pewne argumenty tablicy, który są w tej funkcji zwracanej jako argument (parametr) funkcji:
* jeżeli argumenty podano w postaci jednego parametru funkcji w postaci pewnej tablicy z np. elementami nazwanymi,
* lub jako wiele argumentów w ramce, w wikikodzie, w języku {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w pewnym szablonie,
* a rozpatrując dalej elementy względem ich nazw, np. alternatywnych, to te numery mogą być kolejo do nazw ich odpowiedników nazwanych, które w przykładzie powyżej, mają pierwszeństwo, ale tak nie musi być, te parametry: {{Code|1}}, {{Code|2}} i {{Code|3}}, to jest numer parametru.
To stosujemy, jeżeli argumenty do funkcji podano w postaci wielu jego parametrów.
== {{Śródtytuł|p.PobierzParametr}}{{Code|p.PobierzParametr}} ==
Ta funkcja zwraca znów inną funkcję, która ma jedyny parametr, mówiący jakiego parametru poszukujemy, co jest wyjaśnione w definicji funkcji z nagłówka, że ona zwraca tą właśnie funkcje.
Definicja skrótowa dunkcji:
<syntaxhighlight lang="lua">
function p.PobierzParametr(frame,czy_frame_lub_parent,czy_frame)
...
return function(nazwa)
return __pobierz_parametr_table_args(nazwa);
end;
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki tablicy transportu.
| 2 = {{Code|czy_frame_lub_parent}} i {{Code|czy_frame}} | _2 = Parametry logiczne dodatkowe funkcji.
}}
=== Wartość zwracana, i jego druga wartość w postaci numeru metody ===
Funkcja zwraca jednocześnie dwie wartości, ta zwrócona z funkcji z nagłówka, prawdziwą wartość, i numer metody w postaci: {{Code|return wartosc, numer_metody}}.
=== Opis zwracanych elementów przez funkcję zwracaną - różne metody zwracania, jak je wykorzystać ===
Ta funkcja zwracana ma w swojej definicji jeszcze inną funkcję, wykorzystaną w nim. To jest za każdym razem inna funkcja w zależności z jakim typem danych się posługujemy {{Code|frame}}, i jakie podaliśmy parametry, tzn. czy ona jest tablicą.
==== Gdy funkcja ramki {{Code|pf.getParent}} istnieje lub posiada jego fałszywą definicję ====
Gdy warunkiem, gdy zmienna {{Code|frame}} jest tablicą, czyli te zmienne druga: {{Code|czy_frame_lub_parent}} (jeżeli funkcja jest uruchomiona w ramce w szablonie, jeżeli ma wartość {{Code|true}}, to ona wybiera raz parametr z: {{Code|frame.args[nazwa or 1]}}, a za innym razem z {{Code|pf.args[nazwa or 1]}}, gdzie {{Code|pf{{=}}frame:getParent()}}, tutaj jest zwracana wartość: {{Code|return wartosc,2}}).
==== Gdy funkcja ramki istnieje, i gdy: {{Code|czy_frame_lub_parent}}, jest fałszywe, albo ta tablica nie jest ramką, nawet bez fałszywej definicji funkcji fałszywej ramki parametrów rodzica ====
Czy trzecia: {{Code|czy_frame}} (która mówi, jeżeli funkcję uruchomiono w ramce, ale przy wartości prawdziwej tego pierwszego podanego parametru, czyli {{Code|true}}, wybierana jest zawsze wartość {{Code|frame.args[nazwa or 1]}}, w przeciwnym wypadku uruchamiana jest funkcja: {{LinkŚródtytuł|p.PobierzArgsParametry}}, tutaj zwracana jest wartość {{Code|return wartosc,1}}).
==== Wartość nietablicowa funkcji parametrów ====
Jeżeli wartością {{Code|frame}} jest wartość nietablicowa, ale niebędącą wartością {{Code|nil}}, wtedy ustawiana jest funkcja, która tylko za pierwszym razem zwraca nienilową wartość {{Code|return wartosc,0}}, a później zwraca wartość {{Code|return nil,0}}.
==== Przypadek nietablicowa wartości, ale nilowej funkcji parametrów ====
Gdy wartością {{Code|frame}} jest {{Code|nil}}, to funkcja zawsze wraca tą wartość {{Code|return nil,0}}.
==== Fałszywa funkcja ramki parametrów rodzica ====
Ta funkcja parametrów działa dobrze, gdy zdefiniujemy w parametrach funkcji fałszywą funkcję {{Code|frame.getParent}}.
==== Brak definicji funkcji ramki parametrów rodzica ====
Gdy funkcja nie jest uruchamiana w ramce lub funkcja {{Code|frame.getParent}} nie jest zdefiniowana, to wtedy funkcja wchodzi zawsze w ten jej krok, jakby {{Code|czy_frame_lub_parent}} było {{Code|false}} według tego powyżej, to wtedy brana jest zmienna {{Code|czy_frame}}, i jaką wartość ona przyjmuje.
=== Nazwy alternatywne parametrów ===
Funkcję pisze się według sposobu, którą się wywołuje według:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local wartosc1=PobierzParametr("nazwa1") or PobierzParametr(1);
local wartosc2=PobierzParametr("nazwa2") or PobierzParametr(2);
local wartosc3=PobierzParametr("nazwa3") or PobierzParametr(3);
</syntaxhighlight>
Na wypadek wartości nietabelowej, tą wartość zapisuje się jako pierwszą w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a dla wartości tabelowych, jaka jest kolejność to jest obojętne, byle by to było sensowne.
=== Wywołania funkcji w ramce, {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, z funkcją parametrów ===
Tę funkcję podobnie się wywołuje jak funkcję: {{LinkŚróddtytuł|p.PobierzArgsParametry}}. Wartością {{Code|frame}} nie musi być tablica ramki tablicy transportu, równie dobrze może być to dowolna tablica lub wartość nietablicowa.
Weźmy ramkę, w której uruchamiamy funkcję ramki:
<syntaxhighlight lang="mediawiki">
{{#invoke:Nazwa modułu|Nazwa funkcji|nazwa1=wartość1|nazwa2=wartość2|wartość3|wartość4|wartość5|wyspecjalizowana=tak}}
</syntaxhighlight>
=== Przykłady wykorzystania funkcji ===
; Przykład pierwszy{{dk}}
Ona musi być wywołana z parametrem {{Parametr|wyspecjalizowana|tak}}, jako podpowiedź, że liczą się parametry ramki dziecka, a nie jego rodzica, czyli szablonu. Wtedy funkcję {{Code|Nazwa funkcji}} definiujemy:
<syntaxhighlight lang="lua">
local p={};
p["Nazwa funkcji"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame,true);
...
end;
</syntaxhighlight>
Wtedy parametr {{Parametr|wyspecjalizowana|tak}} jest ignorowany, a przy wartości {{Code|false}} drugiego parametru funkcji, czyli wywołania: {{Code|local PobierzParametr{{=}}parametry_modul.PobierzParametr(frame,false);}}, już nie, ale nie zawsze. W takim przypadku według powyższego przykładu raz jest brana wartość, jeżeli istnieje, z {{Code|frame.args}}, a jak ona nie istnieje, to wtedy z: {{Code|pf.args}}.
; Przykład drugi{{dk}}
Weźmy inny przypadek:
<syntaxhighlight lang="lua">
local p={};
p["Nazwa funkcji"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame,false,true);
...
end;
</syntaxhighlight>
Przy tym też parametr: {{Parametr|wyspecjalizowana|tak}}, jest ignorowany, wtedy jest zawsze wybierana do rozważań tablica: {{Code|frame.args}}.
; Przykład trzeci{{dk}}
Znów w innym przypadku, gdzie parametr: {{Parametr|wyspecjalizowana|tak}}, jest zawsze rozważany w naszym wypadku:
<syntaxhighlight lang="lua">
local p={};
p["Nazwa funkcji"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame,false,false);
...
end;
</syntaxhighlight>
To to wywołanie, wtedy dokładnie działa jak funkcja: {{LinkŚródtytuł|p.PobierzArgsParametry}}, a zwrócona funkcja: {{Code|PobierzParametr}} pobiera elementy z tak uzyskanej tablicy {{Code|args}} poprzez nią.
=== Przypadek nietablicowego charakteru parametrów funkcji ===
W przypadku, gdy {{Code|frame}} nie jest tablicą, wtedy parametry: {{Code|czy_frame_lub_parent}} i {{Code|czy_frame}}, są w takim przypadku zawsze ignorowane, ale muszą być ustawione na wypadek, gdyby do funkcji {{Code|Nazwa funkcji}} wsadzono tablicę, np. z ramki, tzn. tablicę ramki funkcji tablicy transportu.
=== Ogólny przypadek, często stosowany ===
Najprostszym często ogólnym przykładem, który prawie zawsze jest stosowany:
<syntaxhighlight lang="lua">
local p={};
p["Nazwa funkcji"]=function(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
...
end;
</syntaxhighlight>
Wtedy parametr: {{Parametr|wyspecjalizowana|tak}}, jest prawie zawsze nieignorowany, ale nie zawsze.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7e29keagf9e8cfdtedyblat86sn7f6u
Wikibooks:Moduły/Parametry/Tom XV
4
63981
560553
556139
2026-11-04T08:15:10Z
Persino
2851
560553
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|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 wartości logicznej
Funkcje te wykorzystują funkcję: {{LinkŚródtytuł|p["CzyTakCiąg"]|Parametry/Tom XIII}}, jeżeli mamy ciąg składający się z samych znaków odstępu, to funkcja zwraca wartość odpowiadający wartości: {{Code|false}}, a dla innych wartości to działa jak: {{Code|true}}, dla instrukcji warunkowej: {{Code|{{s|#if:coś|wtedy|przeciwnie}}}}.
== {{Śródtytuł|p.And}}{{Code|p.And}} ==
Funkcja działa jak operator logiczny operatorowy: {{Code|and}}, w języku {{lpg|Lua}}.
Funkcja służy jedynie do uruchamiania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, zamienia wartości parametrów składającą się z nie znaków odstępu i niebędące ciągami pustymi, na wartość składający się z ciągowi niepustemu, czyli {{Code|tak}}, w przeciwnym wypadku mamy wartość wyniku równą ciągowi pustemu.
Funkcja zamienia wartości każdego parametru na wartości logiczne: {{Code|true}}/{{Code|false}} (według funkcji: {{LinkŚródtytuł|p["CzyTakCiąg"]|Parametry/Tom XIII}}), i jeżeli wszystkie z tych wartości są równe wartości {{Code|true}}, to funkcja zwraca {{Code|tak}}, w przeciwnym wypadku zwraca wartość równą ciągowi pustemu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.And(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = tablica ramki funkcji tablicy transportu modułu.
}}
=== Wartość prawdziwa funkcji operatora logicznego ===
Przykład działania funkcji w ramce {{Lpg|Lua}} w {{lpr|Lua|Scribunto}}, w wikikodzie w szablonie, bo ta funkcja służy do uruchamiania właśnie w szablonach:
{{Pre
| 1 = {{s|#if:{{m|Parametry|And|wartość1|wartość2|wartość3}}|tak|nie}} → {{#if:{{#invoke:Parametry|And|wartość1|wartość2|wartość3}}|tak|nie}}
}}
=== Wartość fałszywa funkcji operatora logicznego ===
A w przykładzie z przeciwną zwracaną wartością:
{{Pre
| 1 = {{s|#if:{{m|Parametry|And|wartość1||wartość3}}|tak|nie}} → {{#if:{{#invoke:Parametry|And|wartość1||wartość3}}|tak|nie}}
}}
== {{Śródtytuł|p.Or}}{{Code|p.Or}} ==
Funkcja działa operator logiczny operatorowy: {{Code|or}}, w języku {{lpg|Lua}}.
Funkcja służy jedynie do uruchamiania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, zamienia wartości parametrów składającą się, przynajmniej, któreś z nich, z nie znaków odstępu i niebędące ciągami pustymi, na wartość składający się z ciągowi niepustemu, czyli {{Code|tak}}, w w przeciwnym wypadku mamy wartość wyniku równą ciągowi pustemu.
Funkcja zamienia wartości każdego parametru na wartości logiczne: {{Code|true}}/{{Code|false}} (według funkcji: {{LinkŚródtytuł|p["CzyTakCiąg"]|Parametry/Tom XIII}}), i jeżeli z któreś z tych wartości jest {{Code|true}}, to funkcja zwraca {{Code|tak}}, w przeciwnym wypadku zwraca wartość równą ciągowi pustemu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.Or(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = tablica ramki funkcji tablicy transportu modułu.
}}
=== Wartość prawdziwa funkcji operatora logicznego ===
Przykład działania funkcji w ramce {{Lpg|Lua}} w {{lpr|Lua|Scribunto}}, w wikikodzie w szablonie, bo ta funkcja służy do uruchamiania właśnie w szablonach:
{{Pre
| 1 = {{s|#if:{{m|Parametry|Or|wartość1||wartość3}}|tak|nie}} → {{#if:{{#invoke:Parametry|Or|wartość1||wartość3}}|tak|nie}}
}}
=== Wartość fałszywa funkcji operatora logicznego ===
A w przykładzie z przeciwną zwracaną wartością:
{{Pre
| 1 = {{s|#if:{{m|Parametry|Or|||}}|tak|nie}} → {{#if:{{#invoke:Parametry|Or|||}}|tak|nie}}
}}
== {{Śródtytuł|p.Not}}{{Code|p.Not}} ==
Funkcja działa jak operator logiczny operatorowy: {{Code|not}}, w języku {{lpg|Lua}}.
Funkcja służy jedynie do uruchamiania w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, zamienia wartość składającą się z nie znaków odstępu i niebędący ciągiem pustym, na wartość składający się z ciągu pustego, i odwrotnie, czyli wartość pustą na wartość mający w sobie inne znaki niż odstępu.
Funkcja zamienia wartość pierwszego parametru na wartość logiczną: {{Code|true}}/{{Code|false}} (według funkcji: {{LinkŚródtytuł|p["CzyTakCiąg"]|Parametry/Tom XIII}}), i zamienia ją na przeciwność, wartości {{Code|true}} odpowiada {{Code|tak}}, a {{Code|false}} odpowiada wartości pustej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.Not(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = tablica ramki funkcji tablicy transportu modułu.
}}
=== Wartość prawdziwa funkcji operatora logicznego ===
Przykład działania funkcji w ramce {{Lpg|Lua}} w {{lpr|Lua|Scribunto}}, w wikikodzie w szablonie, bo ta funkcja służy do uruchamiania właśnie w szablonach:
{{Pre
| 1 = {{s|#if:{{m|Parametry|Not|tak}}|tak|nie}} → {{#if:{{#invoke:Parametry|Not|tak}}|tak|nie}}
}}
=== Wartość fałszywa funkcji operatora logicznego ===
A w przykładzie z przeciwną zwracaną wartością:
{{Pre
| 1 = {{s|#if:{{m|Parametry|Not|}}|tak|nie}} → {{#if:{{#invoke:Parametry|Not|}}|tak|nie}}
}}
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
gtslu39xbpebthddkwast7qzkpk6eth
Wikibooks:Moduły/Parametry/Tom XVI
4
63982
560554
556140
2026-11-04T08:15:50Z
Persino
2851
560554
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje relacji.
== {{Śródtytuł|p.Mniejszy}}{{Code|p.Mniejszy}} ==
Funkcja zastępuje parser logiczny: {{Code|{{s|#expr:coś|wtedy|przeciwnie}}}}, dla porównania dwóch wartości logicznych, działa on szybciej niż ten parser, bo on musi uwzględniać skomplikowaność wyrażeń matematycznych do policzenia, a nasza funkcja w języku: {{lpg|lua}} w {{lpr|Lua|Scribunto}}, już nie.
Funkcja sprawdza re;ację mniejszości. Pozwala stwoerdzić, czy dana liczba jest dodatnia, czy ujemna.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.Mniejszy(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki tablicy transportu.
}}
=== Sprawdzenie mniejszości ===
Funkcja sprawdza, czy spełniona jest wartość mniejszości pierwszego parametru liczbowego:
{{Pre
| 1 = {{s|#if:{{m|Parametry|Mniejszy|5|3}}|tak|nie}} → {{#if:{{#invoke:Parametry|Mniejszy|5|3}}|tak|nie}}
}}
Powyższy wikikod z naszą funkcją, wtedy zrzuci wartość {{Code|nie}}, bo {{Code|5}} jest większe niż {{Code|3}}
=== Sprawdzenie wartości ujemnej ===
Można też sprawdzić, czy liczba jest ujemna, za pomocą wywołania:
{{Pre
| 1 = {{s|#if:{{m|Parametry|Mniejszy|-5}}|tak|nie}} → {{#if:{{#invoke:Parametry|Mniejszy|-5}}|tak|nie}}
}}
Powyższy wikikod z naszą funkcją, wtedy zrzuci wartość {{Code|tak}}.
=== Sprawdzenie wartości dodatniej ===
Można też sprawdzić, czy liczba jest dodatnia, za pomocą wywołania:
{{Pre
| 1 = {{s|#if:{{m|Parametry|Mniejszy|5}}|tak|nie}} → {{#if:{{#invoke:Parametry|Mniejszy|5}}|tak|nie}}
}}
Powyższy wikikod z naszą funkcją, wtedy zrzuci wartość {{Code|nie}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
pokpebfncfnfh73uyebkgl6gn1rmsyh
Wikibooks:Moduły/Parametry/Tom XVII
4
63984
560555
556141
2026-11-04T08:16:20Z
Persino
2851
560555
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje mówiące, ile jest podanych elementów w szablonie według parametrów ramki.
== {{Śródtytuł|p.IlePodano}}{{Code|p.IlePodano}} ==
Funkcja sprawdza, ile jest podanych parametrów w parametrach rodzica szablonu z parametrów nazwanych lub nienazwanych, ale traktowanych jak nazwane, podanych w dziecku.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IlePodano(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu.
}}
=== Przykład przy pomocy szablonu z definicją z użytą tą funkcją ===
* Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/IlePodano/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
cfkogq2b2j1a5ciyay6lonrmym06k86
Wikibooks:Moduły/Parametry/Tom XIX
4
63986
560556
556143
2026-11-04T08:18:28Z
Persino
2851
560556
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
; Iteratory
Poniższe operatory możemy wykorzystać w funkcjach: analogicznego do {{Code|ipairs}}, dla iteratora: {{LinkŚródtytuł|p.IteratorPoNumerowanychElementachTablicy}}, wynikłej z jego funkcji z wartości zwracanej, i analogicznego do {{Code|next}} (iteratora po kluczach) w {{Code|pairs}}, dla iteratora: {{LinkŚródtytuł|p.IteratorKluczeTabeliAlfabetycznieSortujDoPrzodu}}, wynikłe z jego funkcji z wartości zwracanej.
== {{Śródtytuł|p.IteratorPoNumerowanychElementachTablicy}}{{Code|p.IteratorPoNumerowanychElementachTablicy}} ==
Iterator służy do iterowania po kolei po liczbach w pewnych tablicach, używając do tego celu niej, zdefiniowanego iteratora. Można ją zdefiniować do obsługi innego iterowania po parametrach numerowanych, analogicznie do {{Code|ipairs}}, tylko z tą różnicą, że on zwraca tylko jej wartości, bez kluczy, a nie po kolei klucz i jego wartość, jak to robi jego wbudowana wersja.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorPoNumerowanychElementachTablicy(t)
...
return function()
...
end;
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|t}} | _1 = Tablica, po której iterujemy po elementach numerowanych.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/IteratorPoNumerowanychElementachTablicy/}}.
== {{Śródtytuł|p.IteratorKluczeTabeliAlfabetycznieSortujDoPrzodu}}{{Code|p.IteratorKluczeTabeliAlfabetycznieSortujDoPrzodu}} ==
Iterator służy do iterowania po kolei po zsortowanych kluczach, domyślnie dowolnych, ale z możliwością sortowania tylko po liczbach, po kolei alfabetycznie, którym są przyporządkowane dla nich wartości w pewnej tablicy, używając do tego celu tablicy, zdefiniowanego iteratora, metatabelki i metafunkcji w niej zdefiniowanej, gdzie: {{Code|funkcja}}, jest funkcją sortującą łańcuchy znakowe, i nie tylko.
Można ją zdefiniować do obsługi innego iterowania po parametrach nazwanych za pomocą: {{Code|pairs}}, definiując funkcję: {{Code|__next}}, analoga do: {{Code|next}}, jako iteratora po kluczach posortowanych, która jest wartością zwracaną przez funkcję w nagłówku.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IteratorKluczeTabeliAlfabetycznieSortujDoPrzodu(tabela,czy_number,funkcja)
...
return function(tablica,klucz)
...
end;
end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tabela}} | _1 = Tabela, po której iterujemy.
| 2 = {{Code|czy_number}} | _2 = Czy ma sortować i iterować, tylko po liczbach, domyślnie rosnąco, jeżeli nie podano trzeciego parametru funkcji.
| 3 = {{Code|funkcja}} | _3 = Funkcja sortująca.
}}
{{OpisParametrów
| tytuł = Parametry funkcji zwracanej:
| 1 = {{Code|tablica}} | _1 = Tabela operowana.
| 2 = {{Code|klucz}} | _2 = Klucz, dzięki któremu szukamy następny element.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/IteratorKluczeTabeliAlfabetycznieSortujDoPrzodu/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
o5itc1shwnl59hlnrcj2sv7eetep2sc
Wikibooks:Moduły/Parametry/Tom XX
4
63987
560557
556145
2026-11-04T08:19:23Z
Persino
2851
560557
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Parametry}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
Są tutaj przedstawione funkcje wartości minimalnej i maksymalnej.
== {{Śródtytuł|p.Max}}{{Code|p.Max}} ==
Funkcja liczy maksimum dwóch podanych wartości, podaną w jednostkach bezwymiarowych.
=== Odpowiednik szablonowy ===
Dla wersji ramkowej uruchomioną w wikikodzie, np. szablonu:
* {{Code|{{m|Parametry|Max|5|3}}}} → {{Tt|{{#invoke:Parametry|Max|5|3}}}}
Dla wersji szablonowej, której odpowiednikami szablonowymi są: {{s|Max}} lub {{s|Maksimum}}, który można wykorzystać jej definicji wersję ramkową, ale niekoniecznie, a tutaj wykorzystuje parser {{Code|{{s|#expr:coś}}}}.
* {{Code|{{s|Max|5|3}}}} → {{Tt|{{Max|5|3}}}}
Ta wersja szablonowa wykorzystuje funkcję: {{s|W pikselach}}, do zamiany tej samej liczby na tą samą, ale też w różnych jednostkach bezwzględnych, z mianem na końcu, w liczbę pikseli podaną bez wymiarowo.
Wywołanie: {{Code|{{m|Parametry|Max|5|3}}}}, zajmuje mniej zasobów niż: {{Code|{{s|Max}}}}, bo to ostatnie wykorzystuje do liczenia pracochłonną funkcję: {{m|Plik|W pikselach}}, a to pierwsze już nie, liczy maksimum bezpośrednio.
=== Funkcja biblioteczna ===
Funkcja do wywołania w ramce dla dwóch parametrów licząca ich maksimum.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.Max(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki tablicy transportu.
}}
==== Wywołanie w postaci ramki wikikodu ====
W ramce można go wywołać bezpośrednio, dla przykładu dwóch naturalnych parametrów, ale one mogą być też rzeczywiste:
<syntaxhighlight lang="lua">
{{#invoke:Parametry|Max|5|3}}
</syntaxhighlight>
===== Przykład przy pomocy szablonu z definicją z użytą tą funkcją =====
Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/Max/}}.
==== Wywołanie w postaci kodu ====
Tę funkcję można wykorzystać bezpośrednio w programie {{lpg|Lua}} do liczenia maksimów dwóch liczb. Ten kod piszemy:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local maksimum=parametry_modul.Max(5,3);
</syntaxhighlight>
===== Przykład kodu na stronie modułów z przykładami na stronie ich opisów =====
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/Max/}}.
==== Wnioski ====
Widzimy, że w parametrach funkcji nie musimy wykorzystywać żadnej tablicy ramki, bo ona wykorzystuje funkcję: {{LinkŚródtytuł|p.PobierzElementNumerowanyZFrameLubTablicy|Parametry/Tom XIV}}, do liczenia parametrów tego obiektu, by uzyskać argumenty podane w parametrach tej funkcji, czy to w wersji wywołaną w ramce, czy jako w zwykłej funkcji.
== {{Śródtytuł|p.Min}}{{Code|p.Min}} ==
Funkcja liczy minimum dwóch podanych liczb, podaną w jednostkach bezwymiarowych.
=== Odpowiednik szablonowy ===
Dla wersji ramkowej uruchomioną w wikikodzie, np. szablonu:
* {{Code|{{m|Parametry|Min|5|3}}}} → {{Tt|{{#invoke:Parametry|Min|5|3}}}}
Dla wersji szablonowej, której odpowiednikami szablonowymi są: {{s|Min}} lub {{s|Minimum}}, który można wykorzystać jej definicji wersję ramkową, ale niekoniecznie, a tutaj wykorzystuje parser {{Code|{{s|#expr:coś}}}}.
* {{Code|{{s|Min|5|3}}}} → {{Tt|{{Min|5|3}}}}
Ta wersja szablonowa wykorzystuje funkcję: {{s|W pikselach}}, do zamiany tej samej liczby na tą samą, ale też w różnych jednostkach bezwzględnych, z mianem na końcu, w liczbę pikseli podaną bez wymiarowo.
Wywołanie: {{Code|{{m|Parametry|Min|5|3}}}}, zajmuje mniej zasobów niż: {{Code|{{s|Min}}}}, bo to ostatnie wykorzystuje do liczenia pracochłonną funkcję: {{m|Plik|W pikselach}}, a to pierwsze już nie, liczy minimum bezpośrednio.
=== Funkcja biblioteczna ===
Funkcja do wywołania w ramce dla dwóch parametrów licząca ich minimum.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.Min(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki tablicy transportu.
}}
==== Wywołanie w postaci ramki wikikodu ====
W ramce można go wywołać bezpośrednio, dla przykładu dwóch naturalnych parametrów, ale one mogą być też rzeczywiste:
<syntaxhighlight lang="lua">
{{#invoke:Parametry|Min|5|3}}
</syntaxhighlight>
===== Przykład przy pomocy szablonu z definicją z użytą tą funkcją =====
Popatrz na definicję przykładu, wywołującą w sobie ramkę {{lpg|Lua}} w {{lpr|Lua|Scribunto}} - szablonu: {{s|Wikibooks/Przykład/Parametry/Min/}}.
==== Wywołanie w postaci kodu ====
Tę funkcję można wykorzystać bezpośrednio w programie {{lpg|Lua}} do liczenia minimów dwóch liczb.
Ten kod piszemy:
<syntaxhighlight lang="lua">
local parametry_modul=require("Module:Parametry");
local minimum=parametry_modul.Min(5,3);
</syntaxhighlight>
===== Przykład kodu na stronie modułów z przykładami na stronie ich opisów =====
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Parametry/Min/}}.
==== Wnioski ====
Widzimy, że w parametrach funkcji nie musimy wykorzystywać żadnej tablicy ramki, bo ona wykorzystuje funkcję: {{LinkŚródtytuł|p.PobierzElementNumerowanyZFrameLubTablicy|Parametry/Tom XIV}}, do liczenia parametrów tego obiektu, by uzyskać argumenty podane w parametrach tej funkcji, czy to w wersji wywołaną w ramce, czy jako w zwykłej funkcji.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
s0ibk6t3b6rfguegiid6gwifz9759s5
Szablon:OpisParametrów
10
64146
560532
559651
2026-11-03T19:35:41Z
Persino
2851
560532
wikitext
text/x-wiki
<includeonly><templatestyles src="Szablon:OpisParametrów/styles.css" />
{{#invoke:Ramka|Rozwiń|{{((}}GridTabela{{!}}pozycja{{=}}brak{{!}}klasa op{{=}}OpisParametrów-grid-op{{!}}klasa{{=}}gridtable OpisParametrów-grid {{(((}}klasa{{!}}{{)))}}{{!}}styl{{=}}{{(((}}styl{{!}}{{)))}}
{{!}} liczba kolumn {{=}} 3
{{!}} liczba wierszy {{=}} {{#expr:{{#invoke:Ramka|Powtarzaj|nie rozwiń=|1+}}+0}}
{{#if:{{{tytuł|}}}|{{!}} tytuł {{=}} {{{tytuł}}}}}
{{!}} nagłówek 1 {{=}} Lp.
{{!}} nagłówek 2 {{=}} Parametr {{!}} klasa 2 {{=}} {{(((}}klasa parametru{{!}}{{)))}} {{!}} styl 2 {{=}} {{(((}}styl parametru{{!}}{{)))}}
{{!}} nagłówek 3 {{=}} Opis {{!}} klasa 3 {{=}} {{(((}}klasa opisu{{!}}{{)))}} {{!}} styl 3 {{=}} {{(((}}styl opisu{{!}}{{)))}}
{{#invoke:Ramka|Powtarzaj|nie rozwiń=|warunkowe=tak|warunkowe ze zmiennymi=tak|
{{!}} klasa wiersza {{((}}_{{))}} {{=}} {{(((}}klasa wiersza{{((}}_{{))}}{{!}}{{)))}}
{{!}} styl wiersza {{((}}_{{))}} {{=}} {{(((}}styl wiersza{{((}}_{{))}}{{!}}{{)))}}
{{!}} komórka {{((}}_{{))}}_1 {{=}} {{((}}Div start{{!}}klasa{{=}}numer_porządkowy_parametru{{))}}{{((}}_{{))}}{{((}}Div koniec{{))}}
{{!}} komórka {{((}}_{{))}}_2 {{=}} {{((}}Div start{{!}}klasa{{=}}parametry_funkcji {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}parametry-opis{{))}}{{))}}
{{(((}}{{((}}_{{))}}{{)))}}{{((}}Div koniec{{))}} {{!}} klasa {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}OpisParametrów-komórka{{!}}{{))}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{!}}OpisParametrów-nagłówek{{!}}{{))}} {{(((}}klasa parametru{{{((}}_{{))}}{{!}}{{)))}} {{!}} styl {{((}}_{{))}}_2 {{=}} {{(((}}styl parametru{{((}}_{{))}}{{!}}{{)))}}
{{!}} kolumny {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}2{{!}}1{{))}}
{{!}} nagłówek {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}{{!}}tak{{))}}
__((__#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}__!____!__
{{((}}!{{))}} komórka {{((}}_{{))}}_3 {{=}} {{((}}Div start{{!}}klasa{{=}}opis_parametrów_funkcji{{))}}
{{((}}((({{))}}_{{((}}_{{))}}{{((}}))){{))}}{{((}}Div koniec{{))}}
{{((}}!{{))}} klasa {{((}}_{{))}}_3 {{=}} {{((}}((({{))}}klasa wartości{{((}}_{{))}}{{((}}!{{))}}{{((}}))){{))}}
{{((}}!{{))}} styl {{((}}_{{))}}_3 {{=}} {{((}}((({{))}}styl wartości{{((}}_{{))}}{{((}}!{{))}}{{((}}))){{))}}
__))__
}}{{))}}}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Ramka|Rozwiń|{{((}}#invoke:Sprawdź{{!}}Parametry{{!}}{{=}}problemy-w-szablonie-%s {{((}}(({{))}}Kategoria{{((}}!{{))}}Szablon %s do sprawdzenia{{((}})){{))}}{{!}}klasa{{=}}{{!}}styl{{=}}{{!}}klasa parametru{{=}}{{!}}styl parametru{{=}}{{!}}klasa opisu{{=}}{{!}}styl opisu{{=}}{{#invoke:Ramka|Powtarzaj|po kolei=tak|nie rozwiń=tak|{{!}}{{((}}_{{))}}{{=}}txt!{{!}}styl parametru{{((}}_{{))}}{{=}}{{!}}klasa parametru{{((}}_{{))}}{{=}}{{!}}styl wartości{{((}}_{{))}}{{=}}{{!}}klasa wartości{{((}}_{{))}}{{=}}{{!}}styl wiersza{{((}}_{{))}}{{=}}{{!}}klasa wiersza{{((}}_{{))}}{{=}}{{!}}nagłówek{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};komórka{{((}}_{{))}}{{!}}komórka{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};nagłówek{{((}}_{{))}}{{!}}_{{((}}_{{))}}{{=}}txt?!;nagłówek{{((}}_{{))}};komórka{{((}}_{{))}}}}{{))}}
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
2gystyqybhdzdw08cx18k6443krymgy
560533
560532
2026-11-03T19:36:31Z
Persino
2851
560533
wikitext
text/x-wiki
<includeonly><templatestyles src="Szablon:OpisParametrów/styles.css" />
{{#invoke:Ramka|Rozwiń|{{((}}GridTabela{{!}}pozycja{{=}}brak{{!}}klasa op{{=}}OpisParametrów-grid-op{{!}}klasa{{=}}gridtable OpisParametrów-grid {{(((}}klasa{{!}}{{)))}}{{!}}styl{{=}}{{(((}}styl{{!}}{{)))}}
{{!}} liczba kolumn {{=}} 3
{{!}} liczba wierszy {{=}} {{#expr:{{#invoke:Ramka|Powtarzaj|nie rozwiń=|1+}}+0}}
{{#if:{{{tytuł|}}}|{{!}} tytuł {{=}} {{{tytuł}}}}}
{{!}} nagłówek 1 {{=}} Lp.
{{!}} nagłówek 2 {{=}} Parametr {{!}} klasa 2 {{=}} {{(((}}klasa parametru{{!}}{{)))}} {{!}} styl 2 {{=}} {{(((}}styl parametru{{!}}{{)))}}
{{!}} nagłówek 3 {{=}} Opis {{!}} klasa 3 {{=}} {{(((}}klasa opisu{{!}}{{)))}} {{!}} styl 3 {{=}} {{(((}}styl opisu{{!}}{{)))}}
{{#invoke:Ramka|Powtarzaj|nie rozwiń=|warunkowe=tak|warunkowe ze zmiennymi=tak|
{{!}} klasa wiersza {{((}}_{{))}} {{=}} {{(((}}klasa wiersza{{((}}_{{))}}{{!}}{{)))}}
{{!}} styl wiersza {{((}}_{{))}} {{=}} {{(((}}styl wiersza{{((}}_{{))}}{{!}}{{)))}}
{{!}} komórka {{((}}_{{))}}_1 {{=}} {{((}}Div start{{!}}klasa{{=}}numer_porządkowy_parametru{{))}}{{((}}_{{))}}{{((}}Div koniec{{))}}
{{!}} komórka {{((}}_{{))}}_2 {{=}} {{((}}Div start{{!}}klasa{{=}}parametry_funkcji {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}parametry-opis{{))}}{{))}}
{{(((}}{{((}}_{{))}}{{)))}}{{((}}Div koniec{{))}} {{!}} klasa {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}OpisParametrów-komórka{{!}}{{))}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{!}}OpisParametrów-nagłówek{{!}}{{))}} {{(((}}klasa parametru{{{((}}_{{))}}{{!}}{{)))}} {{!}} styl {{((}}_{{))}}_2 {{=}} {{(((}}styl parametru{{((}}_{{))}}{{!}}{{)))}}
{{!}} kolumny {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}2{{!}}1{{))}}
{{!}} nagłówek {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}{{!}}tak{{))}}
__((__#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}__!____!__
{{((}}!{{))}} komórka {{((}}_{{))}}_3 {{=}} {{((}}Div start{{!}}klasa{{=}}opis_parametrów_funkcji{{))}}
{{((}}((({{))}}_{{((}}_{{))}}{{((}}))){{))}}{{((}}Div koniec{{))}}
{{((}}!{{))}} klasa {{((}}_{{))}}_3 {{=}} {{((}}((({{))}}klasa wartości{{((}}_{{))}}{{((}}!{{))}}{{((}}))){{))}}
{{((}}!{{))}} styl {{((}}_{{))}}_3 {{=}} {{((}}((({{))}}styl wartości{{((}}_{{))}}{{((}}!{{))}}{{((}}))){{))}}
__))__
}}{{))}}}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Ramka|Rozwiń|{{((}}#invoke:Sprawdź{{!}}Parametry{{!}}{{=}}problemy-w-szablonie-%s {{((}}(({{))}}Kategoria{{((}}!{{))}}Szablon %s do sprawdzenia{{((}})){{))}}{{!}}tytuł{{=}}{{!}}klasa{{=}}{{!}}styl{{=}}{{!}}klasa parametru{{=}}{{!}}styl parametru{{=}}{{!}}klasa opisu{{=}}{{!}}styl opisu{{=}}{{#invoke:Ramka|Powtarzaj|po kolei=tak|nie rozwiń=tak|{{!}}{{((}}_{{))}}{{=}}txt!{{!}}styl parametru{{((}}_{{))}}{{=}}{{!}}klasa parametru{{((}}_{{))}}{{=}}{{!}}styl wartości{{((}}_{{))}}{{=}}{{!}}klasa wartości{{((}}_{{))}}{{=}}{{!}}styl wiersza{{((}}_{{))}}{{=}}{{!}}klasa wiersza{{((}}_{{))}}{{=}}{{!}}nagłówek{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};komórka{{((}}_{{))}}{{!}}komórka{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};nagłówek{{((}}_{{))}}{{!}}_{{((}}_{{))}}{{=}}txt?!;nagłówek{{((}}_{{))}};komórka{{((}}_{{))}}}}{{))}}
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
b0u7y5tf7gvp4cenujt1v6t18n4yeiv
560534
560533
2026-11-03T19:43:25Z
Persino
2851
560534
wikitext
text/x-wiki
<includeonly><templatestyles src="Szablon:OpisParametrów/styles.css" />
{{#invoke:Ramka|Rozwiń|{{((}}GridTabela{{!}}pozycja{{=}}brak{{!}}klasa op{{=}}OpisParametrów-grid-op{{!}}klasa{{=}}gridtable OpisParametrów-grid {{(((}}klasa{{!}}{{)))}}{{!}}styl{{=}}{{(((}}styl{{!}}{{)))}}
{{!}} liczba kolumn {{=}} 3
{{!}} liczba wierszy {{=}} {{#expr:{{#invoke:Ramka|Powtarzaj|nie rozwiń=|1+}}+0}}
{{#if:{{{tytuł|}}}|
{{!}} tytuł {{=}} {{{tytuł}}}
{{#if:{{{styl tytułu|}}}|{{!}} styl tytułu {{=}} {{{styl tytułu}}}}}
{{#if:{{{klasa tytułu|}}}|{{!}} klasa tytułu {{=}} {{{klasa tytułu}}}}}
}}
{{!}} nagłówek 1 {{=}} Lp.
{{!}} nagłówek 2 {{=}} Parametr {{!}} klasa 2 {{=}} {{(((}}klasa parametru{{!}}{{)))}} {{!}} styl 2 {{=}} {{(((}}styl parametru{{!}}{{)))}}
{{!}} nagłówek 3 {{=}} Opis {{!}} klasa 3 {{=}} {{(((}}klasa opisu{{!}}{{)))}} {{!}} styl 3 {{=}} {{(((}}styl opisu{{!}}{{)))}}
{{#invoke:Ramka|Powtarzaj|nie rozwiń=|warunkowe=tak|warunkowe ze zmiennymi=tak|
{{!}} klasa wiersza {{((}}_{{))}} {{=}} {{(((}}klasa wiersza{{((}}_{{))}}{{!}}{{)))}}
{{!}} styl wiersza {{((}}_{{))}} {{=}} {{(((}}styl wiersza{{((}}_{{))}}{{!}}{{)))}}
{{!}} komórka {{((}}_{{))}}_1 {{=}} {{((}}Div start{{!}}klasa{{=}}numer_porządkowy_parametru{{))}}{{((}}_{{))}}{{((}}Div koniec{{))}}
{{!}} komórka {{((}}_{{))}}_2 {{=}} {{((}}Div start{{!}}klasa{{=}}parametry_funkcji {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}parametry-opis{{))}}{{))}}
{{(((}}{{((}}_{{))}}{{)))}}{{((}}Div koniec{{))}} {{!}} klasa {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}OpisParametrów-komórka{{!}}{{))}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{!}}OpisParametrów-nagłówek{{!}}{{))}} {{(((}}klasa parametru{{{((}}_{{))}}{{!}}{{)))}} {{!}} styl {{((}}_{{))}}_2 {{=}} {{(((}}styl parametru{{((}}_{{))}}{{!}}{{)))}}
{{!}} kolumny {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}2{{!}}1{{))}}
{{!}} nagłówek {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}{{!}}tak{{))}}
__((__#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}__!____!__
{{((}}!{{))}} komórka {{((}}_{{))}}_3 {{=}} {{((}}Div start{{!}}klasa{{=}}opis_parametrów_funkcji{{))}}
{{((}}((({{))}}_{{((}}_{{))}}{{((}}))){{))}}{{((}}Div koniec{{))}}
{{((}}!{{))}} klasa {{((}}_{{))}}_3 {{=}} {{((}}((({{))}}klasa wartości{{((}}_{{))}}{{((}}!{{))}}{{((}}))){{))}}
{{((}}!{{))}} styl {{((}}_{{))}}_3 {{=}} {{((}}((({{))}}styl wartości{{((}}_{{))}}{{((}}!{{))}}{{((}}))){{))}}
__))__
}}{{))}}}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Ramka|Rozwiń|{{((}}#invoke:Sprawdź{{!}}Parametry{{!}}{{=}}problemy-w-szablonie-%s {{((}}(({{))}}Kategoria{{((}}!{{))}}Szablon %s do sprawdzenia{{((}})){{))}}{{!}}tytuł{{=}}{{!}}klasa{{=}}{{!}}styl{{=}}{{!}}klasa parametru{{=}}{{!}}styl parametru{{=}}{{!}}klasa opisu{{=}}{{!}}styl opisu{{=}}{{#invoke:Ramka|Powtarzaj|po kolei=tak|nie rozwiń=tak|{{!}}{{((}}_{{))}}{{=}}txt!{{!}}styl parametru{{((}}_{{))}}{{=}}{{!}}klasa parametru{{((}}_{{))}}{{=}}{{!}}styl wartości{{((}}_{{))}}{{=}}{{!}}klasa wartości{{((}}_{{))}}{{=}}{{!}}styl wiersza{{((}}_{{))}}{{=}}{{!}}klasa wiersza{{((}}_{{))}}{{=}}{{!}}nagłówek{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};komórka{{((}}_{{))}}{{!}}komórka{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};nagłówek{{((}}_{{))}}{{!}}_{{((}}_{{))}}{{=}}txt?!;nagłówek{{((}}_{{))}};komórka{{((}}_{{))}}}}{{))}}
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
7jnqtdi8eft7uxeyhja3f5ckcelxicn
560539
560534
2026-11-03T19:57:37Z
Persino
2851
560539
wikitext
text/x-wiki
<includeonly><templatestyles src="Szablon:OpisParametrów/styles.css" />
{{#invoke:Ramka|Rozwiń|{{((}}GridTabela{{!}}pozycja{{=}}brak{{!}}klasa op{{=}}OpisParametrów-grid-op{{!}}klasa{{=}}gridtable OpisParametrów-grid {{(((}}klasa{{!}}{{)))}}{{!}}styl{{=}}{{(((}}styl{{!}}{{)))}}
{{!}} liczba kolumn {{=}} 3
{{!}} liczba wierszy {{=}} {{#expr:{{#invoke:Ramka|Powtarzaj|nie rozwiń=|1+}}+0}}
{{#if:{{{tytuł|}}}|
{{!}} tytuł {{=}} {{{tytuł}}}
{{#if:{{{styl tytułu|}}}|{{!}} styl tytułu {{=}} {{{styl tytułu}}}}}
{{#if:{{{klasa tytułu|}}}|{{!}} klasa tytułu {{=}} {{{klasa tytułu}}}}}
}}
{{!}} nagłówek 1 {{=}} Lp.
{{!}} nagłówek 2 {{=}} Parametr {{!}} klasa 2 {{=}} {{(((}}klasa parametru{{!}}{{)))}} {{!}} styl 2 {{=}} {{(((}}styl parametru{{!}}{{)))}}
{{!}} nagłówek 3 {{=}} Opis {{!}} klasa 3 {{=}} {{(((}}klasa opisu{{!}}{{)))}} {{!}} styl 3 {{=}} {{(((}}styl opisu{{!}}{{)))}}
{{#invoke:Ramka|Powtarzaj|nie rozwiń=|warunkowe=tak|warunkowe ze zmiennymi=tak|
{{!}} klasa wiersza {{((}}_{{))}} {{=}} {{(((}}klasa wiersza{{((}}_{{))}}{{!}}{{)))}}
{{!}} styl wiersza {{((}}_{{))}} {{=}} {{(((}}styl wiersza{{((}}_{{))}}{{!}}{{)))}}
{{!}} komórka {{((}}_{{))}}_1 {{=}} {{((}}Div start{{!}}klasa{{=}}numer_porządkowy_parametru{{))}}{{((}}_{{))}}{{((}}Div koniec{{))}}
{{!}} komórka {{((}}_{{))}}_2 {{=}} {{((}}Div start{{!}}klasa{{=}}parametry_funkcji {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}parametry-opis{{))}}{{))}}
{{(((}}{{((}}_{{))}}{{)))}}{{((}}Div koniec{{))}} {{!}} klasa {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}OpisParametrów-komórka{{!}}{{))}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{!}}OpisParametrów-nagłówek{{!}}{{))}} {{(((}}klasa parametru{{{((}}_{{))}}{{!}}{{)))}} {{!}} styl {{((}}_{{))}}_2 {{=}} {{(((}}styl parametru{{((}}_{{))}}{{!}}{{)))}}
{{!}} kolumny {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}2{{!}}1{{))}}
{{!}} nagłówek {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}{{!}}tak{{))}}
__((__#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}__!____!__
{{((}}!{{))}} komórka {{((}}_{{))}}_3 {{=}} {{((}}Div start{{!}}klasa{{=}}opis_parametrów_funkcji{{))}}
{{((}}((({{))}}_{{((}}_{{))}}{{((}}))){{))}}{{((}}Div koniec{{))}}
{{((}}!{{))}} klasa {{((}}_{{))}}_3 {{=}} {{((}}((({{))}}klasa wartości{{((}}_{{))}}{{((}}!{{))}}{{((}}))){{))}}
{{((}}!{{))}} styl {{((}}_{{))}}_3 {{=}} {{((}}((({{))}}styl wartości{{((}}_{{))}}{{((}}!{{))}}{{((}}))){{))}}
__))__
}}{{))}}}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Ramka|Rozwiń|{{((}}#invoke:Sprawdź{{!}}Parametry{{!}}{{=}}problemy-w-szablonie-%s {{((}}(({{))}}Kategoria{{((}}!{{))}}Szablon %s do sprawdzenia{{((}})){{))}}{{!}}tytuł{{=}}{{!}}klasa tytułu{{=}}{{!}}styl tytułu{{=}}{{!}}klasa{{=}}{{!}}styl{{=}}{{!}}klasa parametru{{=}}{{!}}styl parametru{{=}}{{!}}klasa opisu{{=}}{{!}}styl opisu{{=}}{{#invoke:Ramka|Powtarzaj|po kolei=tak|nie rozwiń=tak|{{!}}{{((}}_{{))}}{{=}}txt!{{!}}styl parametru{{((}}_{{))}}{{=}}{{!}}klasa parametru{{((}}_{{))}}{{=}}{{!}}styl wartości{{((}}_{{))}}{{=}}{{!}}klasa wartości{{((}}_{{))}}{{=}}{{!}}styl wiersza{{((}}_{{))}}{{=}}{{!}}klasa wiersza{{((}}_{{))}}{{=}}{{!}}nagłówek{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};komórka{{((}}_{{))}}{{!}}komórka{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};nagłówek{{((}}_{{))}}{{!}}_{{((}}_{{))}}{{=}}txt?!;nagłówek{{((}}_{{))}};komórka{{((}}_{{))}}}}{{))}}
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
rdnfkln711mi3lb01lcl65togye0724
560540
560539
2026-11-03T20:08:51Z
Persino
2851
560540
wikitext
text/x-wiki
<includeonly><templatestyles src="Szablon:OpisParametrów/styles.css" />
{{#invoke:Ramka|Rozwiń|{{((}}GridTabela{{!}}pozycja{{=}}brak{{!}}klasa op{{=}}OpisParametrów-grid-op{{!}}klasa{{=}}gridtable OpisParametrów-grid {{(((}}klasa{{!}}{{)))}}{{!}}styl{{=}}{{(((}}styl{{!}}{{)))}}
{{!}} liczba kolumn {{=}} 3
{{!}} liczba wierszy {{=}} {{#expr:{{#invoke:Ramka|Powtarzaj|nie rozwiń=|1+}}+0}}
{{#if:{{{tytuł|}}}|
{{!}} tytuł {{=}} {{(((}}tytuł{{)))}}
{{#if:{{{styl tytułu|}}}|{{!}} styl tytułu {{=}} {{(((}}styl tytułu{{)))}}}}
{{#if:{{{klasa tytułu|}}}|{{!}} klasa tytułu {{=}} {{(((}}klasa tytułu{{!}}{{)))}}}}
}}
{{!}} nagłówek 1 {{=}} Lp.
{{!}} nagłówek 2 {{=}} Parametr {{!}} klasa 2 {{=}} {{(((}}klasa parametru{{!}}{{)))}} {{!}} styl 2 {{=}} {{(((}}styl parametru{{!}}{{)))}}
{{!}} nagłówek 3 {{=}} Opis {{!}} klasa 3 {{=}} {{(((}}klasa opisu{{!}}{{)))}} {{!}} styl 3 {{=}} {{(((}}styl opisu{{!}}{{)))}}
{{#invoke:Ramka|Powtarzaj|nie rozwiń=|warunkowe=tak|warunkowe ze zmiennymi=tak|
{{!}} klasa wiersza {{((}}_{{))}} {{=}} {{(((}}klasa wiersza{{((}}_{{))}}{{!}}{{)))}}
{{!}} styl wiersza {{((}}_{{))}} {{=}} {{(((}}styl wiersza{{((}}_{{))}}{{!}}{{)))}}
{{!}} komórka {{((}}_{{))}}_1 {{=}} {{((}}Div start{{!}}klasa{{=}}numer_porządkowy_parametru{{))}}{{((}}_{{))}}{{((}}Div koniec{{))}}
{{!}} komórka {{((}}_{{))}}_2 {{=}} {{((}}Div start{{!}}klasa{{=}}parametry_funkcji {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}parametry-opis{{))}}{{))}}
{{(((}}{{((}}_{{))}}{{)))}}{{((}}Div koniec{{))}} {{!}} klasa {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}OpisParametrów-komórka{{!}}{{))}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{!}}OpisParametrów-nagłówek{{!}}{{))}} {{(((}}klasa parametru{{{((}}_{{))}}{{!}}{{)))}} {{!}} styl {{((}}_{{))}}_2 {{=}} {{(((}}styl parametru{{((}}_{{))}}{{!}}{{)))}}
{{!}} kolumny {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}2{{!}}1{{))}}
{{!}} nagłówek {{((}}_{{))}}_2 {{=}} {{((}}#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}{{!}}{{!}}tak{{))}}
__((__#if:{{(((}}nagłówek{{((}}_{{))}}{{!}}{{)))}}{{(((}}komórka{{((}}_{{))}}{{!}}{{)))}}__!____!__
{{((}}!{{))}} komórka {{((}}_{{))}}_3 {{=}} {{((}}Div start{{!}}klasa{{=}}opis_parametrów_funkcji{{))}}
{{((}}((({{))}}_{{((}}_{{))}}{{((}}))){{))}}{{((}}Div koniec{{))}}
{{((}}!{{))}} klasa {{((}}_{{))}}_3 {{=}} {{((}}((({{))}}klasa wartości{{((}}_{{))}}{{((}}!{{))}}{{((}}))){{))}}
{{((}}!{{))}} styl {{((}}_{{))}}_3 {{=}} {{((}}((({{))}}styl wartości{{((}}_{{))}}{{((}}!{{))}}{{((}}))){{))}}
__))__
}}{{))}}}}{{#if:{{{bez dodatkowych sprawdzeń|}}}||{{#invoke:Ramka|Rozwiń|{{((}}#invoke:Sprawdź{{!}}Parametry{{!}}{{=}}problemy-w-szablonie-%s {{((}}(({{))}}Kategoria{{((}}!{{))}}Szablon %s do sprawdzenia{{((}})){{))}}{{!}}tytuł{{=}}{{!}}klasa tytułu{{=}}{{!}}styl tytułu{{=}}{{!}}klasa{{=}}{{!}}styl{{=}}{{!}}klasa parametru{{=}}{{!}}styl parametru{{=}}{{!}}klasa opisu{{=}}{{!}}styl opisu{{=}}{{#invoke:Ramka|Powtarzaj|po kolei=tak|nie rozwiń=tak|{{!}}{{((}}_{{))}}{{=}}txt!{{!}}styl parametru{{((}}_{{))}}{{=}}{{!}}klasa parametru{{((}}_{{))}}{{=}}{{!}}styl wartości{{((}}_{{))}}{{=}}{{!}}klasa wartości{{((}}_{{))}}{{=}}{{!}}styl wiersza{{((}}_{{))}}{{=}}{{!}}klasa wiersza{{((}}_{{))}}{{=}}{{!}}nagłówek{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};komórka{{((}}_{{))}}{{!}}komórka{{((}}_{{))}}{{=}}txt?;_{{((}}_{{))}};nagłówek{{((}}_{{))}}{{!}}_{{((}}_{{))}}{{=}}txt?!;nagłówek{{((}}_{{))}};komórka{{((}}_{{))}}}}{{))}}
}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
2j6mkndtu8aqkqf7oa3qwbpk1265wae
Szablon:OpisParametrów/styles.css
10
64147
560535
559355
2026-11-03T19:44:50Z
Persino
2851
560535
sanitized-css
text/css
div.gridtabela-moduł-op.tabela-brak.OpisParametrów-grid-op{
display:flex;
flex-direction:row;
width:auto;
}
div.gridtabela-moduł-op.tabela-brak.OpisParametrów-grid-op > tytuł{
text-align:left;
}
div.gridtabela-moduł-op.tabela-brak.OpisParametrów-grid-op > div.gridtabela-moduł.OpisParametrów-grid{
width:100%;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-1{
text-align:center;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-1{
min-width:2rem;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-2:not(.OpisParametrów-nagłówek):not(.OpisParametrów-komórka){
max-width:30rem;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2,
div.gridtabela-moduł.OpisParametrów-grid > div.nagłówek.kolumna-2:not(.nagłówek-tytuł),
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-3{
text-align:left;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a{
text-align:center !important;
color:white;
background-color:black;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a{
text-decoration:underline;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a:hover,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a:hover{
text-decoration:none;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek code{
color:unset;
background-color:unset;
}
div.gridtabela-moduł.OpisParametrów-grid{
grid-template-columns: minmax(0,2rem) minmax(0,auto) 1fr !important;
}
@media all and (max-width:745px), all and (max-device-height:745px){
div.gridtabela-moduł.gridtable.OpisParametrów-grid{
display:flex !important;
flex-direction:row;
flex-wrap:wrap;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).wiersz-1.kolumna-3{
margin-top:-1px;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-1,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-1{
width:2rem;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-2{
width:calc( 5rem + 1px );
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-3{
width:calc( 100% - 2rem - 5rem + 1px );
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2.OpisParametrów-nagłówek,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2.OpisParametrów-komórka,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2:not(.OpisParametrów-nagłówek):not(.OpisParametrów-komórka){
width: calc( 100% - 2rem + 1px);
max-width:none;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-3{
width:100%;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.komórka:not(.nagłówek-tytuł).kolumna-3{
margin-left:0;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.komórka:not(.nagłówek-tytuł).kolumna-3{
border-left: 1px #aaaaaa solid;
}
}
/*{{Kategoria|Szablony - arkusze stylów}}*/
ierjjtku0fyt52rpugspwfk9h3qf884
560536
560535
2026-11-03T19:45:21Z
Persino
2851
560536
sanitized-css
text/css
div.gridtabela-moduł-op.tabela-brak.OpisParametrów-grid-op{
display:flex;
flex-direction:row;
width:auto;
}
div.gridtabela-moduł-op.tabela-brak.OpisParametrów-grid-op > div.tytuł{
text-align:left;
}
div.gridtabela-moduł-op.tabela-brak.OpisParametrów-grid-op > div.gridtabela-moduł.OpisParametrów-grid{
width:100%;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-1{
text-align:center;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-1{
min-width:2rem;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-2:not(.OpisParametrów-nagłówek):not(.OpisParametrów-komórka){
max-width:30rem;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2,
div.gridtabela-moduł.OpisParametrów-grid > div.nagłówek.kolumna-2:not(.nagłówek-tytuł),
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-3{
text-align:left;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a{
text-align:center !important;
color:white;
background-color:black;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a{
text-decoration:underline;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a:hover,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a:hover{
text-decoration:none;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek code{
color:unset;
background-color:unset;
}
div.gridtabela-moduł.OpisParametrów-grid{
grid-template-columns: minmax(0,2rem) minmax(0,auto) 1fr !important;
}
@media all and (max-width:745px), all and (max-device-height:745px){
div.gridtabela-moduł.gridtable.OpisParametrów-grid{
display:flex !important;
flex-direction:row;
flex-wrap:wrap;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).wiersz-1.kolumna-3{
margin-top:-1px;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-1,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-1{
width:2rem;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-2{
width:calc( 5rem + 1px );
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-3{
width:calc( 100% - 2rem - 5rem + 1px );
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2.OpisParametrów-nagłówek,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2.OpisParametrów-komórka,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2:not(.OpisParametrów-nagłówek):not(.OpisParametrów-komórka){
width: calc( 100% - 2rem + 1px);
max-width:none;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-3{
width:100%;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.komórka:not(.nagłówek-tytuł).kolumna-3{
margin-left:0;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.komórka:not(.nagłówek-tytuł).kolumna-3{
border-left: 1px #aaaaaa solid;
}
}
/*{{Kategoria|Szablony - arkusze stylów}}*/
extahlskqzjtukhfmlp7t1ryj0f3qvc
560537
560536
2026-11-03T19:47:15Z
Persino
2851
560537
sanitized-css
text/css
div.gridtabela-moduł-op.tabela-brak.OpisParametrów-grid-op{
display:flex;
flex-direction:row;
width:auto;
}
div.gridtabela-moduł-op.tabela-brak.OpisParametrów-grid-op > div.gridtabela-moduł.OpisParametrów-grid{
width:100%;
}
div.gridtabela-moduł.OpisParametrów-grid > div.tytuł{
text-align:left;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-1{
text-align:center;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-1{
min-width:2rem;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-2:not(.OpisParametrów-nagłówek):not(.OpisParametrów-komórka){
max-width:30rem;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2,
div.gridtabela-moduł.OpisParametrów-grid > div.nagłówek.kolumna-2:not(.nagłówek-tytuł),
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-3{
text-align:left;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a{
text-align:center !important;
color:white;
background-color:black;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a{
text-decoration:underline;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a:hover,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a:hover{
text-decoration:none;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek code{
color:unset;
background-color:unset;
}
div.gridtabela-moduł.OpisParametrów-grid{
grid-template-columns: minmax(0,2rem) minmax(0,auto) 1fr !important;
}
@media all and (max-width:745px), all and (max-device-height:745px){
div.gridtabela-moduł.gridtable.OpisParametrów-grid{
display:flex !important;
flex-direction:row;
flex-wrap:wrap;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).wiersz-1.kolumna-3{
margin-top:-1px;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-1,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-1{
width:2rem;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-2{
width:calc( 5rem + 1px );
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-3{
width:calc( 100% - 2rem - 5rem + 1px );
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2.OpisParametrów-nagłówek,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2.OpisParametrów-komórka,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2:not(.OpisParametrów-nagłówek):not(.OpisParametrów-komórka){
width: calc( 100% - 2rem + 1px);
max-width:none;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-3{
width:100%;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.komórka:not(.nagłówek-tytuł).kolumna-3{
margin-left:0;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.komórka:not(.nagłówek-tytuł).kolumna-3{
border-left: 1px #aaaaaa solid;
}
}
/*{{Kategoria|Szablony - arkusze stylów}}*/
7bw8kk1nic7gcpkafe6acni9fkvdfvm
560538
560537
2026-11-03T19:47:49Z
Persino
2851
560538
sanitized-css
text/css
div.gridtabela-moduł-op.tabela-brak.OpisParametrów-grid-op{
display:flex;
flex-direction:row;
width:auto;
}
div.gridtabela-moduł-op.tabela-brak.OpisParametrów-grid-op > div.gridtabela-moduł.OpisParametrów-grid{
width:100%;
}
div.gridtabela-moduł.OpisParametrów-grid > div.tytuł{
text-align:left !important;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-1{
text-align:center;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-1{
min-width:2rem;
}
div.gridtabela-moduł.OpisParametrów-grid > div.kolumna-2:not(.OpisParametrów-nagłówek):not(.OpisParametrów-komórka){
max-width:30rem;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2,
div.gridtabela-moduł.OpisParametrów-grid > div.nagłówek.kolumna-2:not(.nagłówek-tytuł),
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-3{
text-align:left;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a{
text-align:center !important;
color:white;
background-color:black;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a{
text-decoration:underline;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek a:hover,
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek span.link > a:hover{
text-decoration:none;
}
div.gridtabela-moduł.OpisParametrów-grid > div.komórka.kolumna-2.OpisParametrów-nagłówek code{
color:unset;
background-color:unset;
}
div.gridtabela-moduł.OpisParametrów-grid{
grid-template-columns: minmax(0,2rem) minmax(0,auto) 1fr !important;
}
@media all and (max-width:745px), all and (max-device-height:745px){
div.gridtabela-moduł.gridtable.OpisParametrów-grid{
display:flex !important;
flex-direction:row;
flex-wrap:wrap;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).wiersz-1.kolumna-3{
margin-top:-1px;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-1,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-1{
width:2rem;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-2{
width:calc( 5rem + 1px );
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.nagłówek-tytuł.kolumna-3{
width:calc( 100% - 2rem - 5rem + 1px );
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2.OpisParametrów-nagłówek,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2.OpisParametrów-komórka,
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-2:not(.OpisParametrów-nagłówek):not(.OpisParametrów-komórka){
width: calc( 100% - 2rem + 1px);
max-width:none;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div:not(.nagłówek-tytuł).kolumna-3{
width:100%;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.komórka:not(.nagłówek-tytuł).kolumna-3{
margin-left:0;
}
div.gridtabela-moduł.gridtable.OpisParametrów-grid > div.komórka:not(.nagłówek-tytuł).kolumna-3{
border-left: 1px #aaaaaa solid;
}
}
/*{{Kategoria|Szablony - arkusze stylów}}*/
f8lwt4t85vta2xw5wddvim2z00ukp4z
Wikibooks:Moduły/Specjalne/Tom I
4
64457
560582
559877
2026-11-04T09:08:34Z
Persino
2851
560582
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Specjalne}}|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ł|GranicznieSzereg}}{{Code|GranicznieSzereg}} ==
Jest to funkcja lokalna w module {{Code|{{ld2|Specjalne}}}}, używana tylko wewnątrz funkcji należących do jego tablicy transportu.
Funkcja ustawia tak wzór, który służy do wyszukiwania tekstu bezpośrednio do całego tekstu, jeśli {{Code|czy_granicznie{{=}}true}}, a gdy nie, to ta zmienna musi przyjmować wartość {{Code|nil}} lub {{Code|false}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function GranicznieSzereg(wzor,czy_granicznie)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|wzor}} | _1 = Produkuje wzór, który nie dopasowuje domyślnie do całego ciągu znakowego.
| 2 = {{Code|czy_granicznie}} | _2 = Robi ze wzoru wyrażenie regularne dopasowujące do całego ciągu znakowego.
}}
Przykład użycia funkcji:
<syntaxhighlight lang="lua">
local wzor="%[%[.-%]%]";
local wzor2=GranicznieSzereg(wzor,true);
</syntaxhighlight>
Funkcja zwraca wynik {{Code|wzór2{{=}}"^%[%[.-%]%]$"}}.
A gdy drugi parametr jest np. równy {{Code|nil}} lub {{Code|false}}, wtedy funkcja nie zmienia podanego wzoru, tylko go powtarza.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
dglqmhpc3508nolxeysex8q3224ll1r
Wikibooks:Moduły/Specjalne/Tom II
4
64458
560583
559902
2026-11-04T09:09:10Z
Persino
2851
560583
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Specjalne}}|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.ZnakiSpecjalneAnulowaniaIchZnaczeniaTagowegoMediaWiki}}{{Code|p.ZnakiSpecjalneAnulowaniaIchZnaczeniaTagowegoMediaWiki}} ==
Funkcja zmienia tagi znaczników, tzn. w nich znaki: {{Code|<}} i {{Code|>}}, na odpowiednie szablony, według podanego w module: {{Code|{{ld2|Specjalne/dane}}}}, kodu:
<syntaxhighlight lang="lua">
local p={}
p.szablony_anulowania_znaczeniowego_tagowego_mediawiki={
["<"]="{{Mniejszy}}",
[">"]="{{Większy}}",
};
</syntaxhighlight>
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneAnulowaniaIchZnaczeniaTagowegoMediaWiki(szablon)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|szablon}} | _1 = Tekst, w którym znaki specjalne: {{Code|<nowiki>[<>]</nowiki>}}, są zamieniane na wywołania szablonowe kolejno: {{s|Mniejszy}} i {{s|Większy}}.
}}
=== Stosowanie ===
Ta funkcja wyłącza znaczenie specjalnych tagów mechanizmu {{Strong|MediaWiki}}, i je jako swoje wtedy on nie interpretuje, jedynie rozpatruje to jako zwykły tekst.
Taki tekst można włączyć do funkcji: {{LzLua|frame:preprocess}}, wtedy jedynie szablony: {{s|Mniejszy}} i {{s|Większy}}, zostaną rozwinięte, nie naruszając magiczności tych tagów, po prostu nic z nimi nie robiąc.
Tę funkcję jedynie się stosuje wtedy, gdy chcemy, by te tagi nie zostały zamienione na specjalne kody {{Strong|MediaWiki}} tego mechanizmu. Tak robimy, by później dało się je usunąć bardzo łatwo, nie naruszając ich zawartości.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/ZnakiSpecjalneAnulowaniaIchZnaczeniaTagowegoMediaWiki/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
0l6rb14ghzvqv6fkrrc47wntdfi1phk
Wikibooks:Moduły/Specjalne/Tom IV
4
64459
560585
559900
2026-11-04T09:12:33Z
Persino
2851
560585
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Specjalne}}|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["UsuńŚciśleOkreśloneKategorie"]}}{{Code|p["UsuńŚciśleOkreśloneKategorie"]}} ==
Szablon usuwa ściśle określone kategorie z tekstu wikikodu, dopasowując do całości lub do poszczególnych części tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UsuńŚciśleOkreśloneKategorie"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
| 2 = {{Code|2}} lub {{Code|kategoria}} | _2 = Parametr mówiący jakie kategorie usunąć o takim samym adresie, w przypadku niepodania tego parametru, używane jest domyślne dopasowanie do wszystkich kategorii według wzoru {{Code|<nowiki>([^%[%]|]*)</nowiki>}}.
| 3 = {{Code|3}} lub {{Code|granicznie}} | _3 = Wskazujący, czy dopasować do całości (jeśli niepusta), czy w przeciwnym wypadku do poszczególnych części wikikodu.
}}
=== Wyjaśnienie ===
Funkcja do dopasowywania parametrów używa funkcji: {{LinkŚródtytuł|GranicznieSzereg|Specjalne/Tom I}}.
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, tak samo, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Zawartość tekstowa ====
Jeżeli zawartością jednego parametru funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co {{Code|1}}, czy {{Code|tekst}}.
==== Kategorie ====
Funkcja dopasowuje kategorie opisane przez nazwę kanoniczną: {{Code|Category}}, lub niekanoniczną: {{Code|Kategoria}}, niezależnie, czy takie wywołanie posiada nazwę sortowania, czy nie.
Funkcja usuwa kategorie o danej nazwie, niezależnie jak ona została podana z iloma odstępami, czy dolnymi myślnikami, na jej początku, końcu, a nawet wewnątrz.
Funkcja ustawia tak zmienną: {{Code|kategoria}}, wyrażeniu regularnym w funkcji, a właściwie ją przekształca, jeżeli została podana, tzn. zbędne myślniki i odstępy na początku i końcu z niej są usuwane, a wewnątrz je zostają zastąpione w niej przez wyrażenie: {{Code|[%s_]+}}.
==== Granicznie ====
Funkcja: {{LinkŚródtytuł|p.CzyTak|Parametry/Tom XIII}}, tłumaczy wartość tekstową zmiennej: {{Parametr|3}} lub {{Parametr|granicznie}}, na wartość {{Code|tak}} lub {{Code|nil}}, w przypadku niepodania tej zmiennej, to to tłumaczenie jest na tą ostatnią wartość.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/UsuńŚciśleOkreśloneKategorie/}}.
== {{Śródtytuł|p["UsuńKategorie"]}}{{Code|p["UsuńKategorie"]}} ==
Szablon usuwa wszystkie kategorie z tekstu wikikodu, dopasowując do całości lub do poszczególnych części tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UsuńKategorie"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
| 2 = {{Code|2}} lub {{Code|granicznie}} | _2 = Wskazujący, czy dopasować do całości (jeśli niepusta), czy w przeciwnym wypadku do poszczególnych części wikikodu.
}}
=== Wyjaśnienie ===
Funkcja do dopasowywania parametrów używa funkcji: {{LinkŚródtytuł|GranicznieSzereg|Specjalne/Tom I}}.
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna: {{Code|tekst}}, istnieje, to nie jest wtedy sprawdzane {{Code|1}}, tak samo, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Wywołanie w postaci ramki ====
Jeżeli zawartością jednego parametru funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co: {{Code|1}}, czy: {{Code|tekst}}.
==== Granicznie ====
Funkcja: {{LinkŚródtytuł|p.CzyTak|Parametry/Tom XIII}}, tłumaczy wartość tekstową zmiennej: {{Parametr|2}} lub {{Parametr|granicznie}}, na wartość {{Code|tak}} lub {{Code|nil}}, w przypadku niepodania tej zmiennej, to to tłumaczenie jest na tą ostatnią wartość.
==== Ramka wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych.
==== Działanie ====
Powyższe wywołanie usuwa wywołanie z wikikodu ze zmiennej {{Code|tekst}}.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/UsuńKategorie/}}.
== {{Śródtytuł|p["UsuńZnaczniki"]}}{{Code|p["UsuńZnaczniki"]}} ==
Szablon usuwa wszystkie znaczniki bez zawartości z tekstu wikikodu, dopasowując do całości lub do poszczególnych części tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UsuńZnaczniki"]=function(frame,jakie,funkcja1,funkcja2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, tak samo, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana jej zawartość.
==== Zawartość tekstowa ====
Jeżeli zawartością jednego parametru funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co {{Code|1}}, czy {{Code|tekst}}.
==== Inne parametry nieramkowe ====
{{OpisParametrów
| tytuł = Opis parametrów typowych funkcji:
| 1 = {{Code|jakie}} | _1 = Nazwa znacznika, jaka ma być użyta do usuwania z tekstu: {{Code|tekst}}, znaczników bez zawartości z tym tagiem, w przeciwnym wypadku są usuwane wszystkie znaczniki bez zawartości.
| 2 = {{Code|funkcja1}} | _2 = Funkcja wywołana przed usuwaniem znaczników bez zawartości.
| 3 = {{Code|funkcja2}} | _3 = Funkcja wywołana po usuwaniu znaczników bez zawartości.
}}
==== Wywołanie w postaci wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych. Funkcja jedynie wtedy może być użyta z parametrami ramki.
==== Działanie ====
Wywołanie tej funkcji usuwa wywołanie z wikikodu ze zmiennej {{Code|tekst}}, czyli z niego znaczniki.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/UsuńZnaczniki/}}.
== {{Śródtytuł|p["UsuńWywołaniaPlików"]}}{{Code|p["UsuńWywołaniaPlików"]}} ==
Szablon usuwa wszystkie wywołania plikowe, oznaczone, np.: {{Code|Image}}, {{Code|Grafika}}, {{Code|File}} i {{Code|Plik}}, z tekstu wikikodu, dopasowując do całości lub do poszczególnych części tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UsuńWywołaniaPlików"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
| 2 = {{Code|2}} lub {{Code|granicznie}} | _2 = Wskazujący, czy dopasować do całości (jeśli niepusta), czy w przeciwnym wypadku do poszczególnych części wikikodu.
}}
=== Wyjaśnienie ===
Funkcja do dopasowywania parametrów używa funkcji: {{LinkŚródtytuł|GranicznieSzereg|Specjalne/Tom I}}.
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna: {{Code|tekst}}, istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Zawartość tekstowa ====
Jeżeli zawartością jednego parametru funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co: {{Code|1}}, czy: {{Code|tekst}}.
==== Granicznie ====
Funkcja {{LinkŚródtytuł|p.CzyTak|Parametry/Tom XIII}}, tłumaczy wartość tekstową zmiennej: {{Parametr|2}} lub {{Parametr|granicznie}}, na wartość {{Code|tak}} lub {{Code|nil}}, w przypadku niepodania tej zmiennej, to to tłumaczenie jest na tą ostatnią wartość.
==== Wywołanie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych.
==== Działanie w postaci ramki ====
Powyższe wywołanie usuwa wywołanie z wikikodu ze zmiennej: {{Code|tekst}}, wywołania plikowe.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/UsuńWywołaniaPlików/}}.
== {{Śródtytuł|p["UsuńInterwiki"]}}{{Code|p["UsuńInterwiki"]}} ==
Szablon usuwa wszystkie interwiki z tekstu wikikodu, dopasowując do całości lub do poszczególnych części tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UsuńInterwiki"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
| 2 = {{Code|2}} lub {{Code|granicznie}} | _2 = Wskazujący, czy dopasować do całości (jeśli niepusta), czy w przeciwnym wypadku do poszczególnych części wikikodu.
}}
=== Wyjaśnienie ===
Funkcja do dopasowywania parametrów używa funkcji: {{LinkŚródtytuł|GranicznieSzereg|Specjalne/Tom I}}.
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Zawartość tekstowa ====
Jeżeli zawartością jednego parametru funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co {{Code|1}}, czy {{Code|tekst}}.
==== Granicznie ====
Funkcja: {{LinkŚródtytuł|p.CzyTak|Parametry/Tom XIII}}, tłumaczy wartość tekstową zmiennej: {{Parametr|2}} lub {{Parametr|granicznie}}, na wartość {{Code|tak}} lub {{Code|nil}}, w przypadku niepodania tej zmiennej, to to tłumaczenie jest na tą ostatnią wartość.
==== Wywołanie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych.
==== Działanie ====
Powyższe wywołanie usuwa wywołanie z wikikodu ze zmiennej: {{Code|tekst}}, czyli wywołania interwiki.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/UsuńInterwiki/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
koyt1har9684hprjt1jt0b652ffbv0j
Wikibooks:Moduły/Specjalne/Tom III
4
64460
560584
559895
2026-11-04T09:10:10Z
Persino
2851
560584
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Specjalne}}|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["UsuńKomentarze"]}}{{Code|p["UsuńKomentarze"]}} ==
Szablon usuwa wszystkie komentarze oznaczone blokiem początkowym {{Code|<nowiki><!--</nowiki>}} i końcowym {{Code|<nowiki>--></nowiki>}}, czyli razem (oznaczając to wyrażeniem regularnym {{lpg|Lua}} w {{lpr|Lua|Scribunto}}): {{Code|<nowiki><!%-%-.-%-%-></nowiki>}}, z tekstu wikikodu, dopasowując do poszczególnych części tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UsuńKomentarze"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnienie ===
Funkcja do dopasowywania parametrów używa funkcji: {{LinkŚródtytuł|GranicznieSzereg|Specjalne/Tom I}}.
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna: {{Code|tekst}}, istnieje, to nie jest wtedy sprawdzane {{Code|1}}, tak samo, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Zawartość tekstowa ====
Jeżeli zawartością jednego parametru funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co: {{Code|1}}, czy: {{Code|tekst}}.
==== Wywołanie w postaci ramki ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych.
==== Co robi funkcja ====
Funkcja usuwa komentarze z tekstu oznaczonej zmienną {{Code|tekst}}, tworząc nowy tekst.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/UsuńKomentarze/}}.
== {{Śródtytuł|p["UsuńSzablonyStylów"]}}{{Code|p["UsuńSzablonyStylów"]}} ==
Szablon usuwa wszystkie szablony stylów z tekstu wikikodu, dopasowując do poszczególnych części tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UsuńSzablonyStylów"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnienie ===
Funkcja do dopasowywania parametrów używa funkcji: {{LinkŚródtytuł|GranicznieSzereg|Specjalne/Tom I}}.
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna: {{Code|tekst}}, istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Zawartość tekstowa ====
Jeżeli zawartością jednego parametru funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co: {{Code|1}}, czy: {{Code|tekst}}.
==== Ramka wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych.
==== Działanie ====
Powyższe wywołanie usuwa wywołanie z wikikodu ze zmiennej {{Code|tekst}}, czyli szablon stylów w postaci: {{Code|<nowiki>'"`UNIQ--templatestyles-00000048-QINU`"'</nowiki>}}, stąd pozostaje tylko tekst.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/UsuńSzablonyStylów/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
2p5gg4fiimpcvgs4a5cp3hwae5af3lj
Wikibooks:Moduły/Specjalne/Tom V
4
64461
560586
559918
2026-11-04T09:13:35Z
Persino
2851
560586
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Specjalne}}|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["UsuńZnakiSpecjalne"]}}{{Code|p["UsuńZnakiSpecjalne"]}} ==
Szablon usuwa wszystkie fragmenty tekstu, oznaczone potrójnym i podwójnym cudzysłowem pojedynczym, z tekstu wikikodu, dopasowując do poszczególnych części tekstu, zastępującje tymi fragmentami, ale bez cudzysłowów, a na samym końcu bezpośrednio usuwamy pozostałości z tymi cudzysłowami. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UsuńZnakiSpecjalne"] = function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Zawartość tekstowa ====
Jeżeli zawartością funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co {{Code|1}}, czy {{Code|tekst}}.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych.
==== Działanie ====
Powyższe wywołanie usuwa wywołanie z wikikodu ze zmiennej {{Code|tekst}} fragmenty tekstu z cudzysłowami i zastępuje je tekstem bez nich.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/UsuńZnakiSpecjalne/}}.
== {{Śródtytuł|p["UsuńZbędneBiałeZnaki"]}}{{Code|p["UsuńZbędneBiałeZnaki"]}} ==
Szablon usuwa wszystkie zbędne białe znaki, na początku i końcu oraz wewnątrz, z tekstu wikikodu, dopasowując do poszczególnych części tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["UsuńZbędneBiałeZnaki"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Zawartość tekstowa ====
Jeżeli zawartością funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co {{Code|1}}, czy {{Code|tekst}}.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych.
==== Działanie ====
Powyższe wywołanie usuwa odstępy początkowe i końcowe oraz powtarzające się w wewnątrz tekstu.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/UsuńZbędneBiałeZnaki/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5u5ms60fzruoknnoubi3qbrldr05vgo
Wikibooks:Moduły/Specjalne/Tom VI
4
64462
560587
559901
2026-11-04T09:14:49Z
Persino
2851
560587
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Specjalne}}|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["ZamieńLinkiWewnętrzneNaTekst"]}}{{Code|p["ZamieńLinkiWewnętrzneNaTekst"]}} ==
Szablon usuwa wszystkie linki wewnętrzne na ich nazwę linku, a jeżeli one tego nie posiadają, to ich adres wewnętrzny, z tekstu wikikodu, dopasowując do całości lub do poszczególnych części tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ZamieńLinkiWewnętrzneNaTekst"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
| 2 = {{Code|2}} lub {{Code|granicznie}} | _2 = Wskazujący, czy dopasować do całości (jeśli niepusta), czy w przeciwnym wypadku do poszczególnych części wikikodu.
}}
=== Wyjaśnienie ===
Funkcja do dopasowywania parametrów używa funkcji: {{LinkŚródtytuł|GranicznieSzereg|Specjalne/Tom I}}.
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Zawartość tekstowa ====
Jeżeli zawartością jednego parametru funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co {{Code|1}}, czy {{Code|tekst}}.
==== Granicznie ====
Funkcja: {{LinkŚródtytuł|p.CzyTak|Parametry/Tom XIII}}, tłumaczy wartość tekstową zmiennej: {{Parametr|2}} lub {{Parametr|granicznie}}, na wartość {{Code|tak}} lub {{Code|nil}}, w przypadku niepodania tej zmiennej, to to tłumaczenie jest na tą ostatnią wartość.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych.
==== Działanie ====
Powyższe wywołanie usuwa wywołanie z wikikodu ze zmiennej {{Code|tekst}}, i zastępuje je nazwami linków lub ich adresami.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/ZamieńLinkiWewnętrzneNaTekst/}}.
== {{Śródtytuł|p["ZamieńLinkiZewnętrzneNaTekst"]}}{{Code|p["ZamieńLinkiZewnętrzneNaTekst"]}} ==
Szablon usuwa wszystkie linki zewnętrzne na ich nazwę linku, a jeżeli one tego nie posiadają, to ich adres zewnętrzny, z tekstu wikikodu, dopasowując do całości lub do poszczególnych części tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ZamieńLinkiZewnętrzneNaTekst"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
| 2 = {{Code|2}} lub {{Code|granicznie}} | _2 = Wskazujący, czy dopasować do całości (jeśli niepusta), czy w przeciwnym wypadku do poszczególnych części wikikodu.
}}
=== Wyjaśnienie ===
Funkcja do dopasowywania parametrów używa funkcji: {{LinkŚródtytuł|GranicznieSzereg|Specjalne/Tom I}}.
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Zawartość tekstowa ====
Jeżeli zawartością jednego parametru funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co {{Code|1}}, czy {{Code|tekst}}.
==== Granicznie ====
Funkcja: {{LinkŚródtytuł|p.CzyTak|Parametry/Tom XIII}}, tłumaczy wartość tekstową zmiennej: {{Parametr|2}} lub {{Parametr|granicznie}}, na wartość {{Code|tak}} lub {{Code|nil}}, w przypadku niepodania tej zmiennej, to to tłumaczenie jest na tą ostatnią wartość.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych.
==== Działanie ====
Powyższe wywołanie usuwa wywołanie z wikikodu ze zmiennej: {{Code|tekst}}, zastępując go nazwami linków lub ich adresami.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/ZamieńLinkiZewnętrzneNaTekst/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
sz05zyssap011qaqeyqr58ljftw80yl
Wikibooks:Moduły/Specjalne/Tom VII
4
64463
560588
559890
2026-11-04T09:17:25Z
Persino
2851
560588
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Specjalne}}|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["CzyPlik"]}}{{Code|p["CzyPlik"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, czy jest on dokładnie wywołaniem pliku od początku do końca łańcucha, dopasowując do całości tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["CzyPlik"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry ramki funkcji {{Code|frame}} tablicy transportu:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnenie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna: {{Code|tekst}}, istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych. Funkcja jedynie wtedy może być użyta z parametrami ramki.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/CzyPlik/}}.
== {{Śródtytuł|p["CzyInterwiki"]}}{{Code|p["CzyInterwiki"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, czy jest on dokładnie wywołaniem interwiki od początku do końca łańcucha, dopasowując do całości tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["CzyInterwiki"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry ramki funkcji {{Code|frame}} tablicy transportu:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych. Funkcja jedynie wtedy może być użyta z parametrami ramki.
==== Wyjątki działania interwiki ====
Jeżeli na początku interwiki jest {{Code|pl}}, to wtedy to nie jest jednak interwiki, tylko link wewnętrzny, z samej definicji interwiki.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/CzyInterwiki/}}.
== {{Śródtytuł|p["CzyLinkWewnętrzny"]}}{{Code|p["CzyLinkWewnętrzny"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, czy jest on dokładnie wywołaniem linku wewnętrznego od początku do końca łańcucha, dopasowując do całości tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["CzyLinkWewnętrzny"]=function(szablon)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry ramki funkcji {{Code|frame}} tablicy transportu:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych. Funkcja jedynie wtedy może być użyta z parametrami ramki.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/CzyLinkWewnętrzny/}}.
== {{Śródtytuł|p["CzyAdresLinkuWewnętrznego"]}}{{Code|p["CzyAdresLinkuWewnętrznego"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, czy jest on dokładnie adresem linku wewnętrznego od początku do końca łańcucha, dopasowując do całości tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["CzyAdresLinkuWewnętrznego"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry ramki funkcji {{Code|frame}} tablicy transportu:
| 1 = {{Code|1}} lub {{Code|dwukropek}} | _1 = Czy na początku linku wewnętrznego jest dwukropek, wtedy on na pewno jest linkiem wewnętrznym, a jezeli nie to jest sprawdzane, czy jest tak rzeczywiście,
| 2 = {{Code|2}}, {{Code|tekst}} lub {{Code|adres}} | _2 = Tekst, który jest pewnym adresem do sprawdzenia,musi być to adres linku wewnętrznego.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|adres}}, a następnie {{Code|2}}, w przeciwnym wypadku jest sprawdzane ich poszczególnych istnienie pokolei i odpowiednio jest ściągana ich zawartość, w zależności, która zmienna jako pierwsza istnieje.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych. Funkcja jedynie wtedy może być użyta z parametrami ramki.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/CzyAdresLinkuWewnętrznego/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
b5ffchih639krrg4o3gmows0q0zuc3u
560589
560588
2026-11-04T09:18:05Z
Persino
2851
560589
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Specjalne}}|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["CzyPlik"]}}{{Code|p["CzyPlik"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, czy jest on dokładnie wywołaniem pliku od początku do końca łańcucha, dopasowując do całości tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["CzyPlik"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry ramki funkcji {{nobold|{{Code|frame}}}} tablicy transportu:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnenie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna: {{Code|tekst}}, istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych. Funkcja jedynie wtedy może być użyta z parametrami ramki.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/CzyPlik/}}.
== {{Śródtytuł|p["CzyInterwiki"]}}{{Code|p["CzyInterwiki"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, czy jest on dokładnie wywołaniem interwiki od początku do końca łańcucha, dopasowując do całości tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["CzyInterwiki"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry ramki funkcji {{nobold|{{Code|frame}}}} tablicy transportu:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych. Funkcja jedynie wtedy może być użyta z parametrami ramki.
==== Wyjątki działania interwiki ====
Jeżeli na początku interwiki jest {{Code|pl}}, to wtedy to nie jest jednak interwiki, tylko link wewnętrzny, z samej definicji interwiki.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/CzyInterwiki/}}.
== {{Śródtytuł|p["CzyLinkWewnętrzny"]}}{{Code|p["CzyLinkWewnętrzny"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, czy jest on dokładnie wywołaniem linku wewnętrznego od początku do końca łańcucha, dopasowując do całości tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["CzyLinkWewnętrzny"]=function(szablon)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry ramki funkcji {{nobold|{{Code|frame}}}} tablicy transportu:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych. Funkcja jedynie wtedy może być użyta z parametrami ramki.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/CzyLinkWewnętrzny/}}.
== {{Śródtytuł|p["CzyAdresLinkuWewnętrznego"]}}{{Code|p["CzyAdresLinkuWewnętrznego"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, czy jest on dokładnie adresem linku wewnętrznego od początku do końca łańcucha, dopasowując do całości tekstu. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["CzyAdresLinkuWewnętrznego"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry ramki funkcji {{nobold|{{Code|frame}}}} tablicy transportu:
| 1 = {{Code|1}} lub {{Code|dwukropek}} | _1 = Czy na początku linku wewnętrznego jest dwukropek, wtedy on na pewno jest linkiem wewnętrznym, a jezeli nie to jest sprawdzane, czy jest tak rzeczywiście,
| 2 = {{Code|2}}, {{Code|tekst}} lub {{Code|adres}} | _2 = Tekst, który jest pewnym adresem do sprawdzenia,musi być to adres linku wewnętrznego.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|adres}}, a następnie {{Code|2}}, w przeciwnym wypadku jest sprawdzane ich poszczególnych istnienie pokolei i odpowiednio jest ściągana ich zawartość, w zależności, która zmienna jako pierwsza istnieje.
==== Użycie w postaci ramki wikikodu ====
Funkcja może być użyta w postaci ramki wikikodu z tymi samymi parametrami, co powyżej, tylko z tą różnicą, że parametry są wsadzane bezpośrednio do tego wywołania, o takiej samej wartości, lub można podać je w postaci zmiennych. Funkcja jedynie wtedy może być użyta z parametrami ramki.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/CzyAdresLinkuWewnętrznego/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7b2bxa9n4nki2k2ds51wfojy0j9oszj
Wikibooks:Moduły/Specjalne/Tom VIII
4
64464
560590
559916
2026-11-04T09:26:27Z
Persino
2851
560590
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Specjalne}}|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["WydzielZwykłyTekst"]}}{{Code|p["WydzielZwykłyTekst"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, i wydziela tekst, z elementów mechanizmu MediaWiki wikikodu, wolnego tych od elementów, w tym linki wewnętrzne, zewnętrzne, i inne. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["WydzielZwykłyTekst"]=function(frame,funkcja1,funkcja2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry ramki funkcji {{nobold|{{Code|frame}}}} tablicy transportu:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
| 2 = {{Code|2}} lub {{Code|nieklasycznie}} | _2 = Wartość pusta lub niepodana oznacza, że ma rozwijać {{Code|tekst}} (lub {{Code|1}}), jak leci, bez ładowania potężnych szablonów przez mechanizm {{Code|{{M|Szablonowe}}}}.
| 3 = {{Code|3}} lub {{Code|preprocess}} | _3 = Czy wikitekst z {{Code|tekst}} (lub {{Code|1}}) ma rozwijać, jak szablon.
| 4 = {{Code|4}} lub {{Code|kodowanie}} | _4 = Czy wikikod ma kodować według jego zawartości.
| 5 = {{Code|5}} lub {{Code|nagłówek}} | _5 = Niepuste, gdy ma nie usuwać znaczników {{lke|TemplateStyles}}, znaków specjalnych, czyli pojedynczych cudzysłowów, a także znaczników, stosowana niezależnie od wartości {{Code|nieklasycznie}}.
| 6 = {{Code|6}} lub {{Code|tablica kodowania}} | _6 = Gdy: {{Code|nieklasycznie}}, jest niepuste, i: {{Code|kodowanie}}, ma zawartość pustą, to ta zmienna posiada tablicę kodów: {{Code|{{m|Szablonowe}}}}, która posłuży do rozwijania zakodowanego tą metodą tekstu.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Parametry funkcji ====
{{OpisParametrów
| tytuł = Parametry funkcji, nie ramki, czyli:
| 1 = {{Code|funkcja1}} | _1 = Funkcja zbierająca zawartości kodów i je przekształca w co innego, zwracany szablon, tj. wikikod nowego szablonu z kodami do rozwinięcia przez {{Code|{{m|Szablonowe}}}}.
| 2 = {{Code|funkcja2}} | _2 = Kiedy ma rozwinąć ten kod, a może potraktować go jako wartość już rozwiniętą do końca i zwrócić w funkcji rozwijających kody.
}}
==== Użycie bez specjalnych parametrów ====
Gdy: {{Code|nieklasycznie}}, jest pusta lub niepodana, to funkcja robi operacje zdefiniowane jako przez funkcje:
<syntaxhighlight lang="lua">
local function DwaNawiasyLinkowe(tekst)
tekst=p["UsuńKategorie"]{tekst,nieklasycznie,};
tekst=p["UsuńWywołaniaPlików"]{tekst,nieklasycznie,};
tekst=p["UsuńInterwiki"]{tekst,nieklasycznie,};
tekst=p["ZamieńLinkiWewnętrzneNaTekst"]{tekst,nieklasycznie,};
return tekst;
end;
local function JedenNawiasLinkowe(tekst)
tekst=p["ZamieńLinkiZewnętrzneNaTekst"]{tekst,nieklasycznie,};
return tekst;
end;
local function Komentarze(tekst)
tekst=p["UsuńKomentarze"](tekst);
return tekst;
end;
local function SzablonyStylowe(tekst)
tekst=p["UsuńSzablonyStylów"](tekst);
return tekst;
end;
local function ZnakiSpecjalne(tekst)
tekst=p["UsuńZnakiSpecjalne"](tekst);
return tekst;
end;
local function Znaczniki(tekst,jakie,__FUNKCJA1,__FUNKCJA2)
tekst=p["UsuńZnaczniki"](tekst,jakie,__FUNKCJA1,__FUNKCJA2);
return tekst;
end;
local function PreProcessFrame(tekst)
local frame=mw.getCurrentFrame();
frame=frame.getParent and frame:getParent() or frame;
tekst=frame:preprocess(tekst);
return tekst;
end;
</syntaxhighlight>
===== Nierobione operacje =====
Operacji: {{Code|SzablonyStylowe(tekst)}}, {{Code|ZnakiSpecjalne(tekst)}} i {{Code|Znaczniki(tekst,jakie,__FUNKCJA1,__FUNKCJA2)}}, gdy {{Code|nagłówek}} jest pusty lub niepodany, wtedy zwracany jest tekst, i kolejno te funkcje, a w przypadku przeciwnej wartości tej zmiennej jest zwracany tylko tekst. Przy okazji można przez niepustej zmiennej: {{Code|preproces}}, znaki specjalne znaczników są zamieniane na szablony: {{s|Mniejszy}} i {{s|Większy}}, przy pomocy funkcji: {{Code|tekst{{=}}p.ZnakiSpecjalneAnulowaniaIchZnaczeniaTagowegoMediaWiki(tekst)}}, a następnie rozwijany jest funkcją: {{Code|PreProcessFrame(tekst)}}, przy wyłączeniu znaczenia znaczniki mechanizmu '''MediaWiki''', nie '''HTML''' (bo są to dwie różne sprawy), ta operacja jest robiona przed operacją przekształcania zmiennych i tekstu wikikodu.
==== Użycie specjalnych parametrów ====
Gdy: {{Code|nieklasycznie}}, przyjmuje wartość niepustą, wtedy można zakodować tekst wikikodu, przy użyciu niepustej wartości: {{Code|kodowanie}}, a przy innej, wikikod powinien już być zakodowany na samym wejściu.
Gdy mamy obiekty w rozwijaniu przy pomocy: {{Code|{{m|Szablonowe}}}}, można wygenerować nową zawartość szablonu, sprawdzić, czy ona się zgadza instrukcją:
<syntaxhighlight lang="lua">
if(((not funkcja1) or (szablon))and((not funkcja2) or funkcja2(szablon,obiekt,kod)))then
</syntaxhighlight>
i dalej go przekształcać, przy zmiennej {{Code|nagłówek}} nie pustej, pozostawiając kody atrybutów, znaczników, i obiektów określonych normą:
<syntaxhighlight lang="lua">
if((obiekt=="NOWIKI")or(obiekt=="MATH")or(obiekt=="ŹRÓDŁO")or(obiekt=="GALERIA")or(obiekt=="MAPAOBRAZU")or(obiekt=="PUDEŁKOWEJŚCIA")or(obiekt=="QUIZ"))then
</syntaxhighlight>
==== Niewywołane funkcje ====
Po uzyskaniu tak rozwiniętego kody, przy zmiennej {{Code|nagłówek}} niepustej, wtedy zostaje nie zostaną wywołane funkcje: {{Code|tekst{{=}}SzablonyStylowe(tekst)}} i {{Code|tekst{{=}}ZnakiSpecjalne(tekst)}}, ale one zostają zwrócone po kolei wraz z wikikodem w pierwszej kolejności i dalej kolejno te funkcje. A gdy jednak ta pierwsza zmienna w tej linijce zostanie pusta lub niepodana, wtedy zwracany jest sam czysty rozwinięty i oczyszczony tekst. W module {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, wywoływana jest funkcja:
<syntaxhighlight lang="lua">
local naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=specjalne_modul["WydzielZwykłyTekst"](
{
-- Wikitekst z elementami mechanizmu MediaWiki
tekst=naglowek,
-- Zwróć test i funkcje, które muszą coś zrobić;
["nagłówek"]=true,
-- Rób operacje według drugiego sposobu rozwijania z dwóch dostępnych;
nieklasycznie=true,
-- Ma nie kodować wikitekstu
kodowanie=false,
-- Gotowa tablica kodowania wikitekstu tekst;
["tablica kodowania"]=tablica_analizy_obiektow_strony_dany_modul,
},
-- Funkcja: funkcja1;
function(szablon,obiekt,kod)
local szablon,wynik=SzablonyWywolywane(szablon,obiekt,kod);
return szablon,wynik;
end,
--- Funkcja: funkcja2;
function(szablon,obiekt,kod)
return czy_indeksowanie;
end);
</syntaxhighlight>
która oczyszcza tekst potrzebnymi funkcjami, zwracając również funkcje,które muszą dokonać dalszej roboty, jeżeli będzie ona potrzebna w jakieś formie.
== {{Śródtytuł|p["WydzielLiczbę"]}}{{Code|p["WydzielLiczbę"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, i wydziela tekst z elementów mechanizmu wikikodu, w tym linki wewnętrzne, zewnętrzne, i inne. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["WydzielLiczbę"] = function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Parametry ramki funkcji {{nobold|{{Code|frame}}}} tablicy transportu:
| 1 = {{Code|1}} lub {{Code|tekst}} | _1 = Parametr opisujący wikikod jako zwykły tekst.
}}
=== Wyjaśnienie ===
==== Parametry ====
Parametry w jej wykazie są podanej w takiej odwrotnej kolejności, niż w jakiej są one sprawdzane, czy ta zmienna istnieje, czyli np. jeżeli zmienna {{Code|tekst}} istnieje, to nie jest wtedy sprawdzane {{Code|1}}, w przeciwnym wypadku jest sprawdzane jej istnienie i ściągana zawartość.
==== Wykorzystywane funkcje ====
Funkcja do swojego działania wykorzystuje funkcję: {{LinkŚródtytuł|p["WydzielZwykłyTekst"]}}, i wydziela z niej liczbę i ją zwraca w postaci przekształconej do liczby przy pomocy funkcji: {{LzLua|tunumber}}, a jeżeli takiej liczby nie znalazł, to zwraca {{Code|nil}}.
==== Użyta w funkcji ====
Fukcja jest wykorzystywana w funkcji: {{Code|{{sr|#p["Forma wyrażenia po liczbie"]|p=Techniczne}}}}, a więc i jednocześnie w szablonie: {{s|Forma wyrażenia po liczbie}} i jej pokrewnych z niej wynikających.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Specjalne/WydzielLiczbę/}}.
== {{Śródtytuł|p["PrzetwórzNagłówek"]}}{{Code|p["PrzetwórzNagłówek"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, i wydziela z niego adres linku wewnętrznego i nazwę linku (nagłówka). Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PrzetwórzNagłówek"]=function(adres,czy_naglowek_linku,czy_nie_rozwin_adres)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|adres}} | _1 = Czy ma liczyć tylko adres (wartość typu {{Strong|string}}).
| 2 = {{Code|czy_naglowek_linku}} | _2 = Czy ma liczyc nagłówek linku (wartość typu {{Strong|boolean}}).
| 3 = {{Code|czy_nie_rozwin_adres}} | _3 = Czy adres linku ma rozwijać funkcją {{Code|frame:preprocess}} (wartość typu {{Strong|boolean}}).
}}
Funkcja używa do swojego działania: {{Code|{{sr|#p["WydzielZwykłyTekst"]|p=Specjalne}}}}, do wydzielania tekstu, zwraca tutaj przetworzony tekst wydzielony z elementów mechanizmu {{Strong|MediaWiki}}, oprócz zastosowania funkcji: {{Code|Znaczniki}}, {{Code|SzablonyStylowe}} i {{Code|ZnakiSpecjalne}}, które zostaną zastosowane do zwracanej pierwszej wartości podczas liczenia adresu, a podczas liczenia nagłówka tylko funkcja: {{Code|Znaczniki}}, zostanie zastosowana, ale tylko dla niektórych elementów, a nie dla wszystkich, a za to dla pierwszej, wręcz przeciwnie, dla wszystkich.
Przykład:
<syntaxhighlight lang="lua">
local adres,naglowek=specjalne_modul["PrzetwórzNagłówek"](adres,true,false);
</syntaxhighlight>
Funkcja liczy adres linku i nazwę linku (naglowka) linku, które są zwracane kolejno w postaci dwóch zwracanych zmiennych, mając jedynie nieprzetworzony adres w wikikodzie, z prawdopodobnie z elementami mechanizmu MediaWiki, co po zwróceniu dwóch zmiennych otrzymujemy oczyszczony z elementów mechanizmu {{Strong|MediaWiki}} i {{Strong|HTML}}, tak jest w przypadku zmiennej: {{Code|adres}}, a dla: {{Code|naglowek}}, jedynie zawiera niektóre elementy znaczników {{Strong|HTML}}, elementy takie jak: {{Tag|ol}}, {{Code|ul}} i {{Code|li}}, w tej funkcji są usuwane z nagłówka elementu nazwy linku, a inne znaczniki, te które są również znacznikkami {{Strong|HTML}} w mechanizmie nie są usuwane, w tym również znacznik {{Tag|pre}}, który jest jednocześnie znacznikiem {{Strong|HTML}} i znacznikiem mechanizmu {{Strong|MediaWiki}}.
== {{Śródtytuł|p["OdstępyZmiennychNumerowanychSzablonu"]}}{{Code|p["OdstępyZmiennychNumerowanychSzablonu"]}} ==
Szablon sprawdza zawartość tekstu wikikodu, i wydziela domyślnie prawe odstępy od czarnych znaków wikikodu, w przeciwnym wypadku po podaniu pewnej zmiennej niepustej lewą. Funkcja używa funkcji do zbierania parametrów opisany w punkcie: {{LinkŚródtytuł|p.PobierzParametr|Parametry/Tom XIV}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["OdstępyZmiennychNumerowanychSzablonu"]=function(frame)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|1}} | _1 = Zawartość tekstu z wikikodem.
| 2 = {{Code|lewy}} | _2 = Czy ma wydzielać lewe odstępy w tekście {{Code|1}}, jeśli niepsuta, w przeciwnym wypadku prawą.
}}
Zwykłe szablony mają takę funkcję, że trimują zawartość zmiennej nienazwanej: {{Parametr|1}}, lub jeżeli ją wsadzono do szablonu do zmiennej nazwanej, a więc wtedy jest konieczne używanie tejże funkcji w wikikodzie w nim, aby napisać jego lewe i prawe odstępy. To uwzględnia poniższy przykład dla szablonu: {{s|L}}, dla jej wykonywalnego kodu na innych stronach (wersja inkludowana, tzn.: {{Parametr|inkludowana|tak}}, przy wywołaniu szablonu: {{s|LuaSubst}}):
{{ŹródłoKodu|język=mediawiki|{{LuaSubst|{{ns:Template}}:L|inkludowana=tak}}}}
Jest to kod przykładowego wspomnianego szablonu, gdzie użycie tejże funkcji jest jednak konieczne. Funkcja kolejno w wywołaniach wydziela lewe, a potem prawe odstępy zmiennej: {{Code|1}}, przy użyciu parametru: {{Parametr|wyspecjalizowana|tak}}. Funkcja produkuje link wewnętrzny za pomocą szablonu {{s|Link wewnętrzny}}, która ucina odstępy na początku i końcu zmiennej: {{Parametr|s}}, a niekoniecznie: {{Parametr|1}}. Przed i po linku są ustawiane odstępy, aby zachować historię produkowanych szablonów, jeżeli przeprowadzamy wizualizację danego szablonu. Szablonem do oglądania jego jest: {{s|PreWikikod}}, w którym jest ukryta funkcja: {{Code|{{m|Techniczne|Wikikod}}}}. W tym szablonie jest ukryty inny szablon, a mianowicie: {{s|Pre}}, dlatego jest zachowana historia, co do odstępów, i nowych linii, wikikodu.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
1q131waq63acpyqttvh32o0vv02g343
Wikibooks:Moduły/StronicowyParser/Potrzebne/Tom XII
4
64478
560525
559937
2026-11-03T12:14:52Z
Persino
2851
/* {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} */
560525
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} ==
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA)...end;
</syntaxhighlight>
Opis parametrów funkcji:
{{OpisParametrów
| 1 = {{Code|wyzyskane_wywolanie_szablonu_spis_tresci}} {{Patrz|wyzyskane_wywolanie_szablonu_spis_tresci}} | _1 = Wnętrze szablonu linku inteligentnego: {{Code|SZABLON}} {{Patrz|SZABLON}}, {{Code|LINKW}} {{Patrz|LINKW}} i {{Code|LINKZ}} {{Patrz|LINKZ}}.
| 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} | _2 = Kolejno jak: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. To są nazwy ksiązki spisu.
| 3 = {{Code|nazwa_spisu_tresci}} | _3 = Jak nazwa artykułu: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}, tylko że nazwa artykułu jakiegoś spisu.
| 4 = {{Code|nazwa_modulu}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu|StronicowyParser/Potrzebne/Tom VIII}}.
| 5 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _5 = Jak w: {{LinkPatrz|nazwa_modulu_szablonowa|StronicowyParser/Potrzebne/Tom VIII}}.
| 6 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _6 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}.
| 7 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _7 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Potrzebne/Tom VIII}}.
| 8 = {{Code|obiekt}} | _8 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/Potrzebne/Tom VIII}}.
| 9 = {{Code|kod}} | _9 = Jak w: {{LinkPatrz|kod|StronicowyParser/Potrzebne/Tom VIII}}.
| 10 = {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} | _10 = Tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy.
| 11 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _11 = Używana, gdy niedopasowano szablonu do żadnego obsługiwanego szablonu.
}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}{{Code|p.AnalizujLinkSzablonyOrazLinki2}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
f6ledg2t42ihv0oymhje2rosovoug6h
560526
560525
2026-11-03T12:47:22Z
Persino
2851
560526
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} ==
Funkcja do analizy szablonów inteligentnych: {{Code|SZABLON}}, i linków: {{Code|LINKW}} {{LinkPatrz|LINKW}}, i {{Code|LINKZ}} {{LinkPatrz|LINKZ}}, jeśli dany obiekt już został policzonym to zwracana jest już policzona wartość, bez tego wyznaczania powtórnie, gdy tego nie ma w bazie: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, o kodzie: {{Code|kod}} {{LinkPatrz|kod}}, to wtedy funkcja to liczy, i to zapisuje w bazie, powtórnie tylko ściąga.
Funkcja uruchamia przy wyznaczaniu obiektu za pierwszym razem przy pomocy: {{LinkŚródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}, którą dla danego obiektu uruchamia się tylko raz.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA)...end;
</syntaxhighlight>
Opis parametrów funkcji:
{{OpisParametrów
| 1 = {{Code|wyzyskane_wywolanie_szablonu_spis_tresci}} {{Patrz|wyzyskane_wywolanie_szablonu_spis_tresci}} | _1 = Wnętrze szablonu linku inteligentnego: {{Code|SZABLON}} {{Patrz|SZABLON}}, {{Code|LINKW}} {{Patrz|LINKW}} i {{Code|LINKZ}} {{Patrz|LINKZ}}.
| 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} | _2 = Kolejno jak: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. To są nazwy ksiązki spisu.
| 3 = {{Code|nazwa_spisu_tresci}} | _3 = Jak nazwa artykułu: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}, tylko że nazwa artykułu jakiegoś spisu.
| 4 = {{Code|nazwa_modulu}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu|StronicowyParser/Potrzebne/Tom VIII}}.
| 5 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _5 = Jak w: {{LinkPatrz|nazwa_modulu_szablonowa|StronicowyParser/Potrzebne/Tom VIII}}.
| 6 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _6 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}.
| 7 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _7 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Potrzebne/Tom VIII}}.
| 8 = {{Code|obiekt}} | _8 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/Potrzebne/Tom VIII}}.
| 9 = {{Code|kod}} | _9 = Jak w: {{LinkPatrz|kod|StronicowyParser/Potrzebne/Tom VIII}}.
| 10 = {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} | _10 = Tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy.
| 11 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _11 = Używana, gdy niedopasowano szablonu do żadnego obsługiwanego szablonu.
}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}{{Code|p.AnalizujLinkSzablonyOrazLinki2}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
3b93zkj0qclcmnz387artoozvns5nwy
560527
560526
2026-11-03T12:48:23Z
Persino
2851
/* {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} */
560527
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} ==
Funkcja do analizy szablonów inteligentnych: {{Code|SZABLON}}, i linków: {{Code|LINKW}} {{LinkPatrz|LINKW}}, i {{Code|LINKZ}} {{LinkPatrz|LINKZ}}, jeśli dany obiekt już został policzonym to zwracana jest już policzona wartość, bez tego wyznaczania powtórnie, gdy tego nie ma w bazie: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, o kodzie: {{Code|kod}} {{LinkPatrz|kod}}, to wtedy funkcja to liczy, i to zapisuje w bazie, powtórnie tylko ściąga.
Funkcja uruchamia przy wyznaczaniu obiektu za pierwszym razem przy pomocy: {{LinkŚródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}, którą dla danego obiektu uruchamia się tylko raz.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA)...end;
</syntaxhighlight>
Opis parametrów funkcji:
{{OpisParametrów
| 1 = {{Code|wyzyskane_wywolanie_szablonu_spis_tresci}} {{Patrz|wyzyskane_wywolanie_szablonu_spis_tresci}} | _1 = Wnętrze szablonu linku inteligentnego: {{Code|SZABLON}} {{Patrz|SZABLON}}, {{Code|LINKW}} {{Patrz|LINKW}} i {{Code|LINKZ}} {{Patrz|LINKZ}}.
| 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} | _2 = Kolejno jak: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. To są nazwy ksiązki spisu.
| 3 = {{Code|nazwa_spisu_tresci}} | _3 = Jak nazwa artykułu: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}, tylko że nazwa artykułu jakiegoś spisu.
| 4 = {{Code|nazwa_modulu}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu|StronicowyParser/Potrzebne/Tom VIII}}.
| 5 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _5 = Jak w: {{LinkPatrz|nazwa_modulu_szablonowa|StronicowyParser/Potrzebne/Tom VIII}}. Nazwa szablonowa wywołaniowa spisu treści jego artykułu.
| 6 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _6 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}.
| 7 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _7 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Potrzebne/Tom VIII}}.
| 8 = {{Code|obiekt}} | _8 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/Potrzebne/Tom VIII}}.
| 9 = {{Code|kod}} | _9 = Jak w: {{LinkPatrz|kod|StronicowyParser/Potrzebne/Tom VIII}}.
| 10 = {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} | _10 = Tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy.
| 11 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _11 = Używana, gdy niedopasowano szablonu do żadnego obsługiwanego szablonu.
}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}{{Code|p.AnalizujLinkSzablonyOrazLinki2}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
bn9xehvmxpc0ckiksbc0mrvjyamqiaz
560528
560527
2026-11-03T12:48:54Z
Persino
2851
/* {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} */
560528
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} ==
Funkcja do analizy szablonów inteligentnych: {{Code|SZABLON}}, i linków: {{Code|LINKW}} {{LinkPatrz|LINKW}}, i {{Code|LINKZ}} {{LinkPatrz|LINKZ}}, jeśli dany obiekt już został policzonym to zwracana jest już policzona wartość, bez tego wyznaczania powtórnie, gdy tego nie ma w bazie: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}, o kodzie: {{Code|kod}} {{LinkPatrz|kod}}, to wtedy funkcja to liczy, i to zapisuje w bazie, powtórnie tylko ściąga.
Funkcja uruchamia przy wyznaczaniu obiektu za pierwszym razem przy pomocy: {{LinkŚródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}, którą dla danego obiektu uruchamia się tylko raz.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA)...end;
</syntaxhighlight>
Opis parametrów funkcji:
{{OpisParametrów
| 1 = {{Code|wyzyskane_wywolanie_szablonu_spis_tresci}} {{Patrz|wyzyskane_wywolanie_szablonu_spis_tresci}} | _1 = Wnętrze szablonu linku inteligentnego: {{Code|SZABLON}} {{Patrz|SZABLON}}, {{Code|LINKW}} {{Patrz|LINKW}} i {{Code|LINKZ}} {{Patrz|LINKZ}}.
| 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} | _2 = Kolejno jak: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. To są nazwy ksiązki spisu.
| 3 = {{Code|nazwa_spisu_tresci}} | _3 = Jak nazwa artykułu: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}, tylko że nazwa artykułu jakiegoś spisu.
| 4 = {{Code|nazwa_modulu}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu|StronicowyParser/Potrzebne/Tom VIII}}.
| 5 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _5 = Jak w: {{LinkPatrz|nazwa_modulu_szablonowa|StronicowyParser/Potrzebne/Tom VIII}}. Nazwa szablonowa wywołaniowa spisu treści jego artykułu.
| 6 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _6 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}.
| 7 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _7 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Potrzebne/Tom VIII}}.
| 8 = {{Code|obiekt}} | _8 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/Potrzebne/Tom VIII}}.
| 9 = {{Code|kod}} | _9 = Jak w: {{LinkPatrz|kod|StronicowyParser/Potrzebne/Tom VIII}}.
| 10 = {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} | _10 = Tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy.
| 11 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _11 = Używana, gdy niedopasowano szablonu do żadnego obsługiwanego szablonu.
}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}{{Code|p.AnalizujLinkSzablonyOrazLinki2}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
anb1eelhatx3c6jxv9pmz8bg4yldofr
560529
560528
2026-11-03T12:49:36Z
Persino
2851
/* {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} */
560529
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} ==
Funkcja do analizy szablonów inteligentnych: {{Code|SZABLON}}, i linków: {{Code|LINKW}} {{LinkPatrz|LINKW}}, i {{Code|LINKZ}} {{LinkPatrz|LINKZ}}, jeśli dany obiekt już został policzonym to zwracana jest już policzona wartość, bez tego wyznaczania powtórnie, gdy tego nie ma w bazie: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}, o kodzie: {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/Potrzebne/Tom VIII}}, to wtedy funkcja to liczy, i to zapisuje w bazie, powtórnie tylko ściąga.
Funkcja uruchamia przy wyznaczaniu obiektu za pierwszym razem przy pomocy: {{LinkŚródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}, którą dla danego obiektu uruchamia się tylko raz.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA)...end;
</syntaxhighlight>
Opis parametrów funkcji:
{{OpisParametrów
| 1 = {{Code|wyzyskane_wywolanie_szablonu_spis_tresci}} {{Patrz|wyzyskane_wywolanie_szablonu_spis_tresci}} | _1 = Wnętrze szablonu linku inteligentnego: {{Code|SZABLON}} {{Patrz|SZABLON}}, {{Code|LINKW}} {{Patrz|LINKW}} i {{Code|LINKZ}} {{Patrz|LINKZ}}.
| 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} | _2 = Kolejno jak: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. To są nazwy ksiązki spisu.
| 3 = {{Code|nazwa_spisu_tresci}} | _3 = Jak nazwa artykułu: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}, tylko że nazwa artykułu jakiegoś spisu.
| 4 = {{Code|nazwa_modulu}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu|StronicowyParser/Potrzebne/Tom VIII}}.
| 5 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _5 = Jak w: {{LinkPatrz|nazwa_modulu_szablonowa|StronicowyParser/Potrzebne/Tom VIII}}. Nazwa szablonowa wywołaniowa spisu treści jego artykułu.
| 6 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _6 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}.
| 7 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _7 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Potrzebne/Tom VIII}}.
| 8 = {{Code|obiekt}} | _8 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/Potrzebne/Tom VIII}}.
| 9 = {{Code|kod}} | _9 = Jak w: {{LinkPatrz|kod|StronicowyParser/Potrzebne/Tom VIII}}.
| 10 = {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} | _10 = Tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy.
| 11 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _11 = Używana, gdy niedopasowano szablonu do żadnego obsługiwanego szablonu.
}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}{{Code|p.AnalizujLinkSzablonyOrazLinki2}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
j87lrzg2omcxp35qy211aliyvpz8x47
560530
560529
2026-11-03T13:06:40Z
Persino
2851
/* {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} */
560530
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} ==
Funkcja do analizy szablonów inteligentnych: {{Code|SZABLON}} {{LinkPatrz|SZABLON}}, i linków: {{Code|LINKW}} {{LinkPatrz|LINKW}}, i {{Code|LINKZ}} {{LinkPatrz|LINKZ}}, jeśli dany obiekt już został policzonym to zwracana jest już policzona wartość, bez tego wyznaczania powtórnie, gdy tego nie ma w bazie: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}, o kodzie: {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/Potrzebne/Tom VIII}}, to wtedy funkcja to liczy, i to zapisuje w bazie, powtórnie tylko ściąga.
Funkcja uruchamia przy wyznaczaniu obiektu za pierwszym razem przy pomocy: {{LinkŚródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}, którą dla danego obiektu uruchamia się tylko raz.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA)...end;
</syntaxhighlight>
Opis parametrów funkcji:
{{OpisParametrów
| 1 = {{Code|wyzyskane_wywolanie_szablonu_spis_tresci}} {{Patrz|wyzyskane_wywolanie_szablonu_spis_tresci}} | _1 = Wnętrze szablonu linku inteligentnego: {{Code|SZABLON}} {{Patrz|SZABLON}}, {{Code|LINKW}} {{Patrz|LINKW}} i {{Code|LINKZ}} {{Patrz|LINKZ}}.
| 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} | _2 = Kolejno jak: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. To są nazwy ksiązki spisu.
| 3 = {{Code|nazwa_spisu_tresci}} | _3 = Jak nazwa artykułu: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}, tylko że nazwa artykułu jakiegoś spisu.
| 4 = {{Code|nazwa_modulu}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu|StronicowyParser/Potrzebne/Tom VIII}}.
| 5 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _5 = Jak w: {{LinkPatrz|nazwa_modulu_szablonowa|StronicowyParser/Potrzebne/Tom VIII}}. Nazwa szablonowa wywołaniowa spisu treści jego artykułu.
| 6 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _6 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}.
| 7 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _7 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Potrzebne/Tom VIII}}.
| 8 = {{Code|obiekt}} | _8 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/Potrzebne/Tom VIII}}.
| 9 = {{Code|kod}} | _9 = Jak w: {{LinkPatrz|kod|StronicowyParser/Potrzebne/Tom VIII}}.
| 10 = {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} | _10 = Tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy.
| 11 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _11 = Używana, gdy niedopasowano szablonu do żadnego obsługiwanego szablonu.
}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}{{Code|p.AnalizujLinkSzablonyOrazLinki2}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
hd1vs3gnnnjtbk7sbdyrykkny8lmkn0
560531
560530
2026-11-03T15:38:38Z
Persino
2851
/* {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} */
560531
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/Potrzebne}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki}}{{Code|p.AnalizujLinkSzablonyOrazLinki}} ==
Funkcja do analizy szablonów inteligentnych: {{Code|SZABLON}} {{LinkPatrz|SZABLON}}, i linków: {{Code|LINKW}} {{LinkPatrz|LINKW}}, i {{Code|LINKZ}} {{LinkPatrz|LINKZ}}, jeśli dany obiekt już został policzonym to zwracana jest już policzona wartość, bez tego wyznaczania powtórnie, gdy tego nie ma w bazie: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}, o kodzie: {{Code|kod}} {{LinkPatrz|kod|StronicowyParser/Potrzebne/Tom VIII}}, to wtedy funkcja to liczy, i to zapisuje w bazie, powtórnie tylko ściąga.
Funkcja uruchamia przy wyznaczaniu obiektu za pierwszym razem przy pomocy: {{LinkŚródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}, którą dla danego obiektu uruchamia się tylko raz.
Definicja skrótowa funkcji {{ZobaczTeż|p.AnalizujLinkSzablonyOrazLinki}}:
<syntaxhighlight lang="lua">
function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,nazwa_modulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,__FUNKCJA)...end;
</syntaxhighlight>
Opis parametrów funkcji:
{{OpisParametrów
| 1 = {{Code|wyzyskane_wywolanie_szablonu_spis_tresci}} {{Patrz|wyzyskane_wywolanie_szablonu_spis_tresci}} | _1 = Wnętrze szablonu linku inteligentnego: {{Code|SZABLON}} {{Patrz|SZABLON}}, {{Code|LINKW}} {{Patrz|LINKW}} i {{Code|LINKZ}} {{Patrz|LINKZ}}.
| 2 = {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} | _2 = Kolejno jak: {{LinkPatrz|nazwa_przestrzeni|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki|StronicowyParser/Potrzebne/Tom III}}, {{LinkPatrz|nazwa_ksiazki|StronicowyParser/Potrzebne/Tom III}}. To są nazwy ksiązki spisu.
| 3 = {{Code|nazwa_spisu_tresci}} | _3 = Jak nazwa artykułu: {{LinkPatrz|nazwa_artykulu|StronicowyParser/Potrzebne/Tom III}}, tylko że nazwa artykułu jakiegoś spisu.
| 4 = {{Code|nazwa_modulu}} | _4 = Jak w: {{LinkPatrz|nazwa_modulu|StronicowyParser/Potrzebne/Tom VIII}}.
| 5 = {{Code|pelna_nazwa_spisu_tresci_szablonowa}} | _5 = Jak w: {{LinkPatrz|nazwa_modulu_szablonowa|StronicowyParser/Potrzebne/Tom VIII}}. Nazwa szablonowa wywołaniowa spisu treści jego artykułu.
| 6 = {{Code|tablica_analizy_obiektow_strony_dany_modul}} | _6 = Jak w: {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul|StronicowyParser/Potrzebne/Tom VIII}}.
| 7 = {{Code|tablica_danych_parametrow_szablonu_strony}} | _7 = Jak w: {{LinkPatrz|tablica_danych_parametrow_szablonu_strony|StronicowyParser/Potrzebne/Tom VIII}}.
| 8 = {{Code|obiekt}} | _8 = Jak w: {{LinkPatrz|obiekt|StronicowyParser/Potrzebne/Tom VIII}}.
| 9 = {{Code|kod}} | _9 = Jak w: {{LinkPatrz|kod|StronicowyParser/Potrzebne/Tom VIII}}.
| 10 = {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} | _10 = Tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy.
| 11 = {{Code|__FUNKCJA}} {{Patrz|__FUNKCJA}} | _11 = Używana, gdy niedopasowano szablonu do żadnego obsługiwanego szablonu.
}}
== {{Śródtytuł|p.AnalizujLinkSzablonyOrazLinki2}}{{Code|p.AnalizujLinkSzablonyOrazLinki2}} ==
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
18wvr61xqus9nkmhpj2okqaumhvasc6
Wikibooks:Moduły/Html/Tom I
4
64479
560558
559975
2026-11-04T08:20:31Z
Persino
2851
560558
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.KodowanieOmijanieFunkcyjne}}{{Code|p.KodowanieOmijanieFunkcyjne}} ==
Funkcja wywołuje funkcję modułu: {{Code|{{ld2|Szeregi}}}}, zwaną: {{Code|{{sr|#p.SzeregiOmijanieFunkcyjne|p=Szeregi}}}}. Domyślnym wzorem jest: {{Code|<nowiki>&([^&;%s]+);</nowiki>}}, ale można go zmienić na inny. Drugą funkcją podawaną do tej funkcji jest domyślnym obiektem funkcyjnym anonimowym, który nie podaje się do funkcji w nagłówku:
<syntaxhighlight lang="lua">
function(kod)
return "&"..kod..";";
end
</syntaxhighlight>
Gdzie: {{Code|kod}}, jest elementem przechwytywanym kodu '''HTML''', który jest określony poprzez nawiasy okrągłe we wzorze podawanym jako argument lub, jeśli jest on równy {{Code|nil}}, wtedy we wzorze domyślnym, który w takim razie jest rozpatrywany.
Funkcja służy do omijania wszystkich kodów '''HTML''' lub tylko niektórych i robienia na nich operacji za pomocą funkcji podawanej jako ostatni parametr.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodowanieOmijanieFunkcyjne(html,normalnie,wzor,funkcja)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|html}} | _1 = Ciąg do przetworzenia, w częściach bez parametrów omijanych.
| 2 = {{Code|normalnie}} | _2 = Czy ma przetwarzać tekst pomijając, w przeciwnym wypadku tak nie robi.
| 3 = {{Code|wzor}} | _3 = Wzór do elementów pomijanych, wzór może mieć tylko jeden element przechwytywany.
| 4 = {{Code|funkcja}} | _4 = Funkcja robiąca operacje na przetworzonych subciągach bez elementów pomijanych.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/KodowanieOmijanieFunkcyjne/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
92ee2q2slk6iqhu5rlcy5a8xnr3qm28
Wikibooks:Moduły/Html/Tom II
4
64480
560559
559976
2026-11-04T08:21:14Z
Persino
2851
/* {{Śródtytuł|p.EncodeSpecjalneZnakiHtml}}{{Code|p.EncodeSpecjalneZnakiHtml}} */
560559
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]}}{{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody dziesiętne '''HTML'''. Zamieniane znaki, to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle: {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NS|l=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TransformacjaKlasyZnakowejDoKoduHtmlCiągu/}}.
== {{Śródtytuł|p["TransformacjaKoduHtmlDoZnakuCiągu"]}}{{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"]}} ==
Zamienia w tekście znaki kodów '''HTML''' dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym: {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany kodów '''HTML''', dziesiętnych i szesnastkowych, na znaki.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TransformacjaKoduHtmlDoZnakuCiągu/}}.
== {{Śródtytuł|p.ZnakiSpecjalneTaguNowiki}}{{Code|p.ZnakiSpecjalneTaguNowiki}} ==
Funkcja zamienia znaki specjalne, w tekście (w zawartości pomiędzy tagami tagu: {{Tag|nowiki}}, by potem je tam umieścić, by pierwotna zawartość równała się tekstowi wyświetlanemu (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}})), wikikodu na kody dziesiętne '''HTML'''. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle: {{Code|<nowiki>%</nowiki>}}, jeżeli to jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo: {{Code|<nowiki>=<>[]</nowiki>}}, są częścią tagów mechanizmu '''HTML''', a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i: {{Code|<nowiki>{}|</nowiki>}}, a elementy: {{Code|<nowiki>!{}|=</nowiki>}}, są one częścią wiki-tabelek mechanizmu {{NS|k=mw|w=tak|l=tak|pk=d}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem: {{Code|<nowiki>=</nowiki>}}, i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu '''HTML''', ani '''MediaWiki'''.
Funkcja potrzebuje, do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany znaków, z zestawu znaków specjalnych wskazanych w funkcji, występujących w tagach języka '''HTML''' do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZnakiSpecjalneTaguNowiki/}}.
== {{Śródtytuł|p.ZnakiSpecjalneWikiLinku}}{{Code|p.ZnakiSpecjalneWikiLinku}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku: {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody '''HTML'''. Do tego celu wykorzystuje znaki: {{Code|<nowiki>{}|<>[]</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZnakiSpecjalneWikiLinku/}}.
== {{Śródtytuł|p.EncodeSpecjalneZnakiHtml}}{{Code|p.EncodeSpecjalneZnakiHtml}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, tzn.: {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, tzn.: {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez: {{Code|<nowiki>#</nowiki>}}, na samym początku) na specjalne kody '''HTML''', aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki: {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame,normalnie)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu,
| 2 = {{Code|normalnie}}| _2 = Czy ma omijać kody '''HTML'''.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|html}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML''',
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML''', jeżeli jej wartość odpowiada wartości logicznej {{Code|false}}, wtedy liczy się jej wersja parametrowa funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|html2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeSpecjalneZnakiHtml/}}.
== {{Śródtytuł|p.EncodeZnakProloguList}}{{Code|p.EncodeZnakProloguList}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po: {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod '''HTML''', a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub samym początku, to jest określane przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm '''MediaWiki''' generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z podanego zestawu znaków pierwszych znaków listy, mechanizmu '''MediaWiki''', do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeZnakProloguList/}}.
== {{Śródtytuł|p.ParametryPrzypisaniaZnakowegoEncodeHtml}}{{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja zamienia znaki: {{Code|<nowiki>=%?&</nowiki>}}, na kody dziesiętne '''HTML'''.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}. Funkcja potrafi opcjonalnie omijać kody '''HTML''', w zależności od podanego drugiego parametru.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame,normalnie)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu.
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML'''.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML''', jeżeli jej wartość odpowiada wartości logicznej {{Code|false}}, wtedy liczy się jej wersja parametrowa funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ParametryPrzypisaniaZnakowegoEncodeHtml/}}.
== {{Śródtytuł|p.PrzypisanieZnakoweEncodeHtml}}{{Code|p.PrzypisanieZnakoweEncodeHtml}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), ale wywołana jak nazwana, aby nie była traktowana jako nazwana ze względu na występowanie w nim znaku równości: {{Code|{{=}}}}, potem jest w pełni nienazwana po tej transformacji.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany znaków przypisania: {{Code|{{=}}}}, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/PrzypisanieZnakoweEncodeHtml/}}.
== {{Śródtytuł|p.ZamianaDwukropkaNaKodHtml}}{{Code|p.ZamianaDwukropkaNaKodHtml}} ==
Zamienia dwukropki na kody dziesiętne '''HTML''', tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany ze znaku dwukropka do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZamianaDwukropkaNaKodHtml/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
cgagubjw5mqf88imizm4yiy4jczq8h8
560560
560559
2026-11-04T08:21:56Z
Persino
2851
/* {{Śródtytuł|p.ParametryPrzypisaniaZnakowegoEncodeHtml}}{{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml}} */
560560
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]}}{{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody dziesiętne '''HTML'''. Zamieniane znaki, to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle: {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NS|l=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TransformacjaKlasyZnakowejDoKoduHtmlCiągu/}}.
== {{Śródtytuł|p["TransformacjaKoduHtmlDoZnakuCiągu"]}}{{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"]}} ==
Zamienia w tekście znaki kodów '''HTML''' dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym: {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany kodów '''HTML''', dziesiętnych i szesnastkowych, na znaki.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TransformacjaKoduHtmlDoZnakuCiągu/}}.
== {{Śródtytuł|p.ZnakiSpecjalneTaguNowiki}}{{Code|p.ZnakiSpecjalneTaguNowiki}} ==
Funkcja zamienia znaki specjalne, w tekście (w zawartości pomiędzy tagami tagu: {{Tag|nowiki}}, by potem je tam umieścić, by pierwotna zawartość równała się tekstowi wyświetlanemu (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}})), wikikodu na kody dziesiętne '''HTML'''. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle: {{Code|<nowiki>%</nowiki>}}, jeżeli to jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo: {{Code|<nowiki>=<>[]</nowiki>}}, są częścią tagów mechanizmu '''HTML''', a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i: {{Code|<nowiki>{}|</nowiki>}}, a elementy: {{Code|<nowiki>!{}|=</nowiki>}}, są one częścią wiki-tabelek mechanizmu {{NS|k=mw|w=tak|l=tak|pk=d}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem: {{Code|<nowiki>=</nowiki>}}, i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu '''HTML''', ani '''MediaWiki'''.
Funkcja potrzebuje, do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany znaków, z zestawu znaków specjalnych wskazanych w funkcji, występujących w tagach języka '''HTML''' do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZnakiSpecjalneTaguNowiki/}}.
== {{Śródtytuł|p.ZnakiSpecjalneWikiLinku}}{{Code|p.ZnakiSpecjalneWikiLinku}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku: {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody '''HTML'''. Do tego celu wykorzystuje znaki: {{Code|<nowiki>{}|<>[]</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZnakiSpecjalneWikiLinku/}}.
== {{Śródtytuł|p.EncodeSpecjalneZnakiHtml}}{{Code|p.EncodeSpecjalneZnakiHtml}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, tzn.: {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, tzn.: {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez: {{Code|<nowiki>#</nowiki>}}, na samym początku) na specjalne kody '''HTML''', aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki: {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame,normalnie)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu,
| 2 = {{Code|normalnie}}| _2 = Czy ma omijać kody '''HTML'''.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|html}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML''',
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML''', jeżeli jej wartość odpowiada wartości logicznej {{Code|false}}, wtedy liczy się jej wersja parametrowa funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|html2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeSpecjalneZnakiHtml/}}.
== {{Śródtytuł|p.EncodeZnakProloguList}}{{Code|p.EncodeZnakProloguList}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po: {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod '''HTML''', a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub samym początku, to jest określane przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm '''MediaWiki''' generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z podanego zestawu znaków pierwszych znaków listy, mechanizmu '''MediaWiki''', do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeZnakProloguList/}}.
== {{Śródtytuł|p.ParametryPrzypisaniaZnakowegoEncodeHtml}}{{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja zamienia znaki: {{Code|<nowiki>=%?&</nowiki>}}, na kody dziesiętne '''HTML'''.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}. Funkcja potrafi opcjonalnie omijać kody '''HTML''', w zależności od podanego drugiego parametru.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame,normalnie)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu.
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML'''.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML''', jeżeli jej wartość odpowiada wartości logicznej {{Code|false}}, wtedy liczy się jej wersja parametrowa funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ParametryPrzypisaniaZnakowegoEncodeHtml/}}.
== {{Śródtytuł|p.PrzypisanieZnakoweEncodeHtml}}{{Code|p.PrzypisanieZnakoweEncodeHtml}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), ale wywołana jak nazwana, aby nie była traktowana jako nazwana ze względu na występowanie w nim znaku równości: {{Code|{{=}}}}, potem jest w pełni nienazwana po tej transformacji.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany znaków przypisania: {{Code|{{=}}}}, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/PrzypisanieZnakoweEncodeHtml/}}.
== {{Śródtytuł|p.ZamianaDwukropkaNaKodHtml}}{{Code|p.ZamianaDwukropkaNaKodHtml}} ==
Zamienia dwukropki na kody dziesiętne '''HTML''', tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany ze znaku dwukropka do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZamianaDwukropkaNaKodHtml/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
67zrtoodiq3jyiz7xaqbbymlmauw2py
560561
560560
2026-11-04T08:22:42Z
Persino
2851
560561
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]}}{{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody dziesiętne '''HTML'''. Zamieniane znaki, to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle: {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NS|l=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TransformacjaKlasyZnakowejDoKoduHtmlCiągu/}}.
== {{Śródtytuł|p["TransformacjaKoduHtmlDoZnakuCiągu"]}}{{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"]}} ==
Zamienia w tekście znaki kodów '''HTML''' dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym: {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany kodów '''HTML''', dziesiętnych i szesnastkowych, na znaki.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TransformacjaKoduHtmlDoZnakuCiągu/}}.
== {{Śródtytuł|p.ZnakiSpecjalneTaguNowiki}}{{Code|p.ZnakiSpecjalneTaguNowiki}} ==
Funkcja zamienia znaki specjalne, w tekście (w zawartości pomiędzy tagami tagu: {{Tag|nowiki}}, by potem je tam umieścić, by pierwotna zawartość równała się tekstowi wyświetlanemu (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}})), wikikodu na kody dziesiętne '''HTML'''. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle: {{Code|<nowiki>%</nowiki>}}, jeżeli to jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo: {{Code|<nowiki>=<>[]</nowiki>}}, są częścią tagów mechanizmu '''HTML''', a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i: {{Code|<nowiki>{}|</nowiki>}}, a elementy: {{Code|<nowiki>!{}|=</nowiki>}}, są one częścią wiki-tabelek mechanizmu {{NS|k=mw|w=tak|l=tak|pk=d}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem: {{Code|<nowiki>=</nowiki>}}, i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu '''HTML''', ani '''MediaWiki'''.
Funkcja potrzebuje, do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany znaków, z zestawu znaków specjalnych wskazanych w funkcji, występujących w tagach języka '''HTML''' do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZnakiSpecjalneTaguNowiki/}}.
== {{Śródtytuł|p.ZnakiSpecjalneWikiLinku}}{{Code|p.ZnakiSpecjalneWikiLinku}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku: {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody '''HTML'''. Do tego celu wykorzystuje znaki: {{Code|<nowiki>{}|<>[]</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZnakiSpecjalneWikiLinku/}}.
== {{Śródtytuł|p.EncodeSpecjalneZnakiHtml}}{{Code|p.EncodeSpecjalneZnakiHtml}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, tzn.: {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, tzn.: {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez: {{Code|<nowiki>#</nowiki>}}, na samym początku) na specjalne kody '''HTML''', aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki: {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame,normalnie)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu,
| 2 = {{Code|normalnie}}| _2 = Czy ma omijać kody '''HTML'''.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|html}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML''',
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML''', jeżeli jej wartość odpowiada wartości logicznej {{Code|false}}, wtedy liczy się jej wersja parametrowa funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|html2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeSpecjalneZnakiHtml/}}.
== {{Śródtytuł|p.EncodeZnakProloguList}}{{Code|p.EncodeZnakProloguList}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po: {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod '''HTML''', a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub samym początku, to jest określane przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm '''MediaWiki''' generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z podanego zestawu znaków pierwszych znaków listy, mechanizmu '''MediaWiki''', do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeZnakProloguList/}}.
== {{Śródtytuł|p.ParametryPrzypisaniaZnakowegoEncodeHtml}}{{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja zamienia znaki: {{Code|<nowiki>=%?&</nowiki>}}, na kody dziesiętne '''HTML'''.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}. Funkcja potrafi opcjonalnie omijać kody '''HTML''', w zależności od podanego drugiego parametru.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame,normalnie)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu.
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML'''.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML''', jeżeli jej wartość odpowiada wartości logicznej {{Code|false}}, wtedy liczy się jej wersja parametrowa funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ParametryPrzypisaniaZnakowegoEncodeHtml/}}.
== {{Śródtytuł|p.PrzypisanieZnakoweEncodeHtml}}{{Code|p.PrzypisanieZnakoweEncodeHtml}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), ale wywołana jak nazwana, aby nie była traktowana jako nazwana ze względu na występowanie w nim znaku równości: {{Code|{{=}}}}, potem jest w pełni nienazwana po tej transformacji.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany znaków przypisania: {{Code|{{=}}}}, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/PrzypisanieZnakoweEncodeHtml/}}.
== {{Śródtytuł|p.ZamianaDwukropkaNaKodHtml}}{{Code|p.ZamianaDwukropkaNaKodHtml}} ==
Zamienia dwukropki na kody dziesiętne '''HTML''', tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany ze znaku dwukropka do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZamianaDwukropkaNaKodHtml/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4oxxe5sh3oy2semempmomq4ene80pv4
560563
560561
2026-11-04T08:25:22Z
Persino
2851
560563
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]}}{{Code|p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]}} ==
Funkcja zamienia znaki specjalne wikikodu i wyrażeń regularnych na kody dziesiętne '''HTML'''. Zamieniane znaki, to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle: {{Code|<nowiki>%</nowiki>}}, jeżeli to nie jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>|[]()+-*?.^$%'</nowiki>}}. Jest ona potrzebna do zamiany nazw stron nazw wewnętrznych na {{NS|l=tak}}, a w nich te znaki na kody {{Code|HTML}}, by wykorzystać później to w funkcji: {{Code|mw.title.makeTitle}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKlasyZnakowejDoKoduHtmlCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKlasyZnakowejDoKoduHtmlCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TransformacjaKlasyZnakowejDoKoduHtmlCiągu/}}.
== {{Śródtytuł|p["TransformacjaKoduHtmlDoZnakuCiągu"]}}{{Code|p["TransformacjaKoduHtmlDoZnakuCiągu"]}} ==
Zamienia w tekście znaki kodów '''HTML''' dziesiętne i szesnastkowe na odpowiednie znaki {{Strong|Unicode}}. Kody dziesiętne oznaczone są wyrażone wyrażeniem regularnym: {{Code|<nowiki>&#(%d+);</nowiki>}}, a szesnastkowe: {{Code|<nowiki>&#x(%x+);</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["TransformacjaKoduHtmlDoZnakuCiągu"]=function(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany kodów '''HTML''', dziesiętnych i szesnastkowych, na znaki.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|TransformacjaKoduHtmlDoZnakuCiągu|tekst=Oto jest link: [[user:użytkownik|(Użytkownik)]].}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TransformacjaKoduHtmlDoZnakuCiągu/}}.
== {{Śródtytuł|p.ZnakiSpecjalneTaguNowiki}}{{Code|p.ZnakiSpecjalneTaguNowiki}} ==
Funkcja zamienia znaki specjalne, w tekście (w zawartości pomiędzy tagami tagu: {{Tag|nowiki}}, by potem je tam umieścić, by pierwotna zawartość równała się tekstowi wyświetlanemu (aby on zamieniał się na tylko zwykły tekst, by nie był dalej rozwijalny względem funkcji: {{Code|frame:preproces}})), wikikodu na kody dziesiętne '''HTML'''. Zamieniane znaki to są podane w nawiasach kwadratowych w kodzie {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, a przed tym znakiem jest zwykle: {{Code|<nowiki>%</nowiki>}}, jeżeli to jest znak specjalny wyrażeń regularnych w nim, a te znaki zamieniane to są: {{Code|<nowiki>!{}|=<>[]</nowiki>}}. Dlatego te znaki, bo: {{Code|<nowiki>=<>[]</nowiki>}}, są częścią tagów mechanizmu '''HTML''', a w tagach mogą być też linki wewnętrzne, czy zewnętrzne, i nierozwinięte szablony, a więc też i: {{Code|<nowiki>{}|</nowiki>}}, a elementy: {{Code|<nowiki>!{}|=</nowiki>}}, są one częścią wiki-tabelek mechanizmu {{NS|k=mw|w=tak|l=tak|pk=d}}, elementy te też mogą występować, gdzieś indziej w tekście w wikikodzie, również ze znakiem: {{Code|<nowiki>=</nowiki>}}, i z innymi tutaj wspomnianymi znakami tagowymi, też trzeba je zakodować nimi. Tak je kodujemy przez tę funkcję, by tak uzyskany tekst nie miał elementów mechanizmu '''HTML''', ani '''MediaWiki'''.
Funkcja potrzebuje, do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneTaguNowiki(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany znaków, z zestawu znaków specjalnych wskazanych w funkcji, występujących w tagach języka '''HTML''' do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneTaguNowiki|tekst=<span id="toc">Oto jest tekst, i link: [[Pomoc:Spis treści|Spis treści]]</span>.}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZnakiSpecjalneTaguNowiki/}}.
== {{Śródtytuł|p.ZnakiSpecjalneWikiLinku}}{{Code|p.ZnakiSpecjalneWikiLinku}} ==
Zamienia znaki specjalne transformacji nagłówka adresów '''HTML''' (nagłówek zaczyna się od znaku: {{Code|<nowiki>#</nowiki>}} - na samym końcu, w adresach stron, ale na samym początku w nich) na specjalne kody '''HTML'''. Do tego celu wykorzystuje znaki: {{Code|<nowiki>{}|<>[]</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZnakiSpecjalneWikiLinku(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZnakiSpecjalneWikiLinku|tekst={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZnakiSpecjalneWikiLinku/}}.
== {{Śródtytuł|p.EncodeSpecjalneZnakiHtml}}{{Code|p.EncodeSpecjalneZnakiHtml}} ==
Zamienia znaki specjalne adresu strony, jego parametrów (bez {{Code|<nowiki>?</nowiki>}} - wskazującej na początek adresu strony z parametrami, tzn.: {{Code|<nowiki>&</nowiki>}} - oddzielające zmienne i ich wartości, tzn.: {{Code|<nowiki>=</nowiki>}} - oddzielającej parametr od jej wartości w zmiennej) i nagłówka (bez: {{Code|<nowiki>#</nowiki>}}, na samym początku) na specjalne kody '''HTML''', aby były one odróżnialne od innych specjalnych znaków adresów '''HTML'''. Do tego celu wykorzystuje znaki: {{Code|<nowiki>{}|<>[]#=?&</nowiki>}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeSpecjalneZnakiHtml(frame,normalnie)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu,
| 2 = {{Code|normalnie}}| _2 = Czy ma omijać kody '''HTML'''.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|html}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML''',
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML''', jeżeli jej wartość odpowiada wartości logicznej {{Code|false}}, wtedy liczy się jej wersja parametrowa funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeSpecjalneZnakiHtml|html={{#invoke:Łatki|unstripNoWiki|tekst=<nowiki>[pl] Strony z nagłówkiem (mechanizmu HTML), a w nim jest szablon: {{Szablon do używania|parametr 1=wartość1|parametr 2=wartość2}}</nowiki>}}}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|html2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeSpecjalneZnakiHtml/}}.
== {{Śródtytuł|p.EncodeZnakProloguList}}{{Code|p.EncodeZnakProloguList}} ==
Szablon zamienia pierwszy znak wiki-listy (więc znak po: {{Code|<nowiki>\n</nowiki>}}), tzn. znaki z: {{Code|<nowiki>#*;:</nowiki>}} na kod '''HTML''', a znak bezpośrednio na samym początku od pewnego momentu, tzn. ten znak jest po znaku lub samym początku, to jest określane przez wyrażenie regularne: {{Code|<nowiki>^\n?</nowiki>}}, ten znak wiki-listy zamieniany jest na ten kod, a początkowy znak nowej linii, jeżeli istnieje, jest usuwany. To jest przyszykowane po to, gdyby w szablonie pierwszy wygenerowany znak, był tym znakiem listy (wtedy mechanizm '''MediaWiki''' generuje bezpośrednio przed nim znak nowej linii, który jest na początku łańcucha wygenerowany przez to), a więc ta funkcja służy też do tego.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZnakProloguList(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z podanego zestawu znaków pierwszych znaków listy, mechanizmu '''MediaWiki''', do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|EncodeZnakProloguList|tekst=
* Oto jest pierwszy element listy,
*: Oto jest drugi element listy.
}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeZnakProloguList/}}.
== {{Śródtytuł|p.ParametryPrzypisaniaZnakowegoEncodeHtml}}{{Code|p.ParametryPrzypisaniaZnakowegoEncodeHtml}} ==
Eliminuje znaki specjalne nazw stron, bez parametrów, a parametry, tam gdzie one nie mogą występować, a jednak występują, opisujące parametry, tzn. od czego zaczynają się one, jak są one oddzielone, jak oddzielone są nazwy od ich wartości w przypadku parametru. Funkcja zamienia znaki: {{Code|<nowiki>=%?&</nowiki>}}, na kody dziesiętne '''HTML'''.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}. Funkcja potrafi opcjonalnie omijać kody '''HTML''', w zależności od podanego drugiego parametru.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ParametryPrzypisaniaZnakowegoEncodeHtml(frame,normalnie)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu.
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML'''.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany z zestawu znaków specjalnych, wskazanych w funkcji, do dziesiętnego kodu '''HTML'''.
| 2 = {{Code|normalnie}} | _2 = Czy ma omijać kody '''HTML''', jeżeli jej wartość odpowiada wartości logicznej {{Code|false}}, wtedy liczy się jej wersja parametrowa funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ParametryPrzypisaniaZnakowegoEncodeHtml|tekst=Wikibooks:Strona?action=edit§ion=2}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ParametryPrzypisaniaZnakowegoEncodeHtml/}}.
== {{Śródtytuł|p.PrzypisanieZnakoweEncodeHtml}}{{Code|p.PrzypisanieZnakoweEncodeHtml}} ==
Eliminuje znaki specjalne nazw stron, oddzielające nazwy parametrów od ich wartości, aby jak dana zmienna jest nienazwana (numerowana), ale wywołana jak nazwana, aby nie była traktowana jako nazwana ze względu na występowanie w nim znaku równości: {{Code|{{=}}}}, potem jest w pełni nienazwana po tej transformacji.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.PrzypisanieZnakoweEncodeHtml(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany znaków przypisania: {{Code|{{=}}}}, do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|PrzypisanieZnakoweEncodeHtml|tekst=Wikibooks:Strona=Parametry}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/PrzypisanieZnakoweEncodeHtml/}}.
== {{Śródtytuł|p.ZamianaDwukropkaNaKodHtml}}{{Code|p.ZamianaDwukropkaNaKodHtml}} ==
Zamienia dwukropki na kody dziesiętne '''HTML''', tam gdzie one mają specjalne znaczenie, a po wyeliminowaniu ich (po zamianie) tracą owe znaczenie.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametryRamki|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaDwukropkaNaKodHtml(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|tekst}} | _1 = Zmienna, pod którym wyszukuje się tekst do zamiany ze znaku dwukropka do dziesiętnego kodu '''HTML'''.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
Funkcja może też być wywołane w ramce {{lpg|Lua}} w {{lpr|Lua|Scribunto}} wikikodu w szablonie:
<syntaxhighlight lang="mediawiki">
{{#invoke:Html|ZamianaDwukropkaNaKodHtml|tekst=subst:msg:Szablon:Nazwa_strony}}
</syntaxhighlight>
Wynikiem tego jest wartość, której odpowiada wartość zmiennej ukrytej pod nazwą: {{Code|tekst2}}, poniżej.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZamianaDwukropkaNaKodHtml/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
2w9ujq7v9rwtj9zsu8wm7fx3sim0him
Wikibooks:Moduły/Html/Tom III
4
64481
560562
559998
2026-11-04T08:23:53Z
Persino
2851
560562
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.EncodeId}}{{Code|p.EncodeId}} ==
Funkcja służy do opcjonalnego dekodowania ciągów znakowych według: {{LinkŚródtytuł|p.DecodeHtml|Html/Tom VI}}, i potem kodowania znakami '''HTML''' całego ciągu od specjalnych znaków, do tego celu do transformacji jest potrzebna funkcja: {{LinkŚródtytuł|p.EncodeSpecjalneZnakiHtml|Html/Tom II}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeId(id,bez_transformacji)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|id}} | _1 = Ciąg do przeinaczenia.
| 2 = {{Code|bez_transformacji}} | _2 = Gdy nie {{Code|false}} lub {{Code|nil}}, funkcja nie transformuje na podstawie: {{LinkŚródtytuł|p.DecodeHtml|Html/Tom VI}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeId/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5w8ag6fykamwnp7ugx5rnf0vzqbmyu3
Wikibooks:Moduły/Html/Tom IV
4
64482
560564
559978
2026-11-04T08:26:09Z
Persino
2851
560564
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.KodHTMLZnaku}}{{Code|p.KodHTMLZnaku}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodHTMLZnaku}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia zadany znak na kod dziesiętny '''HTML''', wedle podanych parametrów lub po zamianie znak: {{Code|{{Nowiki|&}}}}, jest zamieniany na: {{Code|{{Nowiki|&}}}}, i {{Code|{{Nowiki|#}}}}, na: {{Code|{{Nowiki|#}}}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.KodHTMLZnaku(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|1}} | _1 = Zmienna, pod którym jesKodHTMLZnakut znak do zamiany na kod dziesiętny '''HTML'''.
| 2 = {{Code|2}} | _2 = Czy znak: {{Code|{{Nowiki|&}}}}, ma być zamieniany na: {{Code|{{Nowiki|&}}}}, a znak: {{Code|<nowiki>#</nowiki>}}, na: {{Code|{{Nowiki|#}}}}.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/KodHTMLZnaku/}}.
=== Przykład kodu na stronie szablonu z przykładami na stronie ich opisów ===
Popatrz na wyniki szablonu: {{s|KodHTMLZnaku}}.
== {{Śródtytuł|p["KodyHTMLZnakówWikiCiągu"]}}{{Code|p["KodyHTMLZnakówWikiCiągu"]}} ==
=== Odpowiednik szablonowy ===
Odpowiednik szablonowy jest pod nazwą {{s|KodyHTMLZnakówWikiCiągu}}. Jego parametry są podobne do jego wersji bibliotecznej. Ten szablon wykorzystuje tę funkcję biblioteczną uruchamianą w ramce.
=== Funkcja biblioteczna ===
Zamienia ściśle określone znaki (zestaw kodów znajduje się na stronie: {{Code|{{ls2|KodyHTMLZnakówWikiCiągu/opis}}}}) na kody dziesiętne '''HTML''', wedle podanych parametrów lub po zamianie znak: {{Code|{{Nowiki|&}}}}, jest zamieniany na: {{Code|{{Nowiki|&}}}}, i: {{Code|{{Nowiki|#}}}}, na: {{Code|{{Nowiki|#}}}}.
Funkcja potrzebuje do wyszukiwania parametrów do działania, funkcji: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p["KodyHTMLZnakówWikiCiągu"](frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|1}} | _1 = Ciąg, pod którym są możliwe ściśle określone znaki są zamieniane na kod '''HTML''', ciąg ten jest ze znakami wiki w UTF8.
| 2 = {{Code|2}} | _2 = Czy znak: {{Code|{{Nowiki|&}}}}, ma być zamieniany na: {{Code|{{Nowiki|&}}}}, i {{Code|<nowiki>#</nowiki>}}, na: {{Code|{{Nowiki|#}}}}.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/KodyHTMLZnakówWikiCiągu/}}.
=== Przykład kodu na stronie szablonu z przykładami na stronie ich opisów ===
Popatrz na wyniki szablonu: {{s|KodyHTMLZnakówWikiCiągu}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5kur492r3diafebbtxevh40ev1uex7u
Wikibooks:Moduły/Html/Tom V
4
64483
560565
559979
2026-11-04T08:26:30Z
Persino
2851
560565
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.UsuwanieSpecjalnychNieschematycznychSymboli}}{{Code|p.UsuwanieSpecjalnychNieschematycznychSymboli}} ==
Usuwa z tekstu znak numer: {{Code|8206}}, zestawu {{lpg|Unicode}}, który można napisać, jeśli jest widoczny na ekranie komputera {{Code|‎}} (znak {{Code|{{Nowiki|‎}}}}). Ten znak oczywiście Unicode jest w grupie zwanej invisible Unicode characters i służy do ustawiania kierunku tekstu lewo do prawo.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UsuwanieSpecjalnychNieschematycznychSymboli(parametr)...end;
</syntaxhighlight>
Parametry funkcji:
{{OpisParametrów
| 1 = {{Code|parametr}} | _1 = Parametr z ciągiem znakowym do operacji.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/UsuwanieSpecjalnychNieschematycznychSymboli/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
6mwd2h2ajf4rccwm3f2kpphpbie064l
Wikibooks:Moduły/Html/Tom VI
4
64484
560566
559999
2026-11-04T08:28:03Z
Persino
2851
560566
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.EncodeWiki}}{{Code|p.EncodeWiki}} ==
Funkcja transformuje kody '''HTML''' do znaku przy pomocy funkcji {{LinkŚródtytuł|p["TransformacjaKoduHtmlDoZnakuCiągu"]|Html/Tom II}}, usuwa nieschematyczne znaki o kodzie: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{LinkŚródtytuł|p.UsuwanieSpecjalnychNieschematycznychSymboli|Html/Tom V}}, następnie opcjonalnie usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu, i zamienia wewnątrz znaki kolejne odstępów lub dolnych myślników na jeden dolny myślnik na podstawie: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, dalej zaraz funkcja {{LzLua|mw.text.encode}} koduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeWiki(parametr,czy_nie_odstepy)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|parametr}} | _1 = Tekst, który chcemy zakodować,
| 2 = {{Code|czy_nie_odstepy}} | _2 = Czy nie ma na tekst podziałać funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeWiki/}}.
== {{Śródtytuł|p.DecodeWiki}}{{Code|p.DecodeWiki}} ==
Funkcja: {{LzLua|mw.text.decode}}, dekoduje tekst, tą funkcją {{lpg|Lua}} w {{lpr|Lua|Scribunto}}. Następnie usuwa nieschematyczne symbole: {{Code|{{Nowiki|‎}}}}, dzięki funkcji: {{LinkŚródtytuł|p.UsuwanieSpecjalnychNieschematycznychSymboli|Html/Tom V}}, następnie działa opcjonalnie funkcją, która usuwa znaki będące odstępami lub dolnymi myślnikami z początku i końca tekstu oraz zamieniając wewnątrz znaki kolejne odstępów lub dolnych myślników na jedną dolną spacją na podstawie: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeWiki(parametr,czy_nie_odstepy,drugi_wynik,czy_drugi_wynik_przetworzony)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|parametr}} | _1 = Tekst, który chcemy odkodować.
| 2 = {{Code|czy_nie_odstepy}} | _2 = Czy nie ma na tekst podziałać funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}.
| 3 = {{Code|drugi_wynik}} | _3 = Wtedy funkcja zwraca drugi wynik.
| 4 = {{Code|czy_drugi_wynik_przetworzony}} | _4 = Funkcja używa funkcji: {{LinkŚródtytuł|p["Odstępy"]|Parametry/Tom VI}}, i operuje tylko na odstępach, a nie również na myślnikach dolnych.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/DecodeWiki/}}.
== {{Śródtytuł|p.IsEncodedHtml}}{{Code|p.IsEncodedHtml}} ==
Funkcja sprawdza, czy można uznać, że funkcja jest zakodowana, tzn. dalej nie warto jej kodować przy pomocy funkcji: {{LzLua|mw.uri.encode}}, czy dekodować, bo już można uznać ją za odkodowaną, czyli nie trzeba stosować funkcji: {{LzLua|mw.uri.decode}}. Funkcja zwraca wartość {{Code|true}}, jak można uznać tekst za zakodowany i {{Code|false}}, gdy jest niezakodowana.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.IsEncodedHtml(parametr,encode,encode_real)..end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|parametr}} | _1 = Parametr do sprawdzenia - wymagany.
| 2 = {{Code|encode}} | _2 = Gdy jest sprawdzana tylko obecność znaku: {{Code|%}}.
| 3 = {{Code|encode_real}} | _3 = Gdy jest sprawdzana, nie tylko obecność znaku: {{Code|%}}, też czy: {{Code|parametr}}, jest ciągiem podporządkowanym wyrażeniu regularnemu: {{Code|<nowiki>^[%w%p%s]*$</nowiki>}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/IsEncodedHtml/}}.
== {{Śródtytuł|p.EncodeHtml}}{{Code|p.EncodeHtml}} ==
Funkcja sprawdza, czy podany parametr do transformacji uznać za zakodowany, jeżeli za taki zostanie uznany, wtedy zostanie, to on zostanie potraktowany funkcją {{LinkŚródtytuł|p.EncodeWiki}}, a jeżeli nie to zostanie wywołana funkcja: {{lzLua|mw.uri.encode}} (z parametrem "WIKI").
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHtml(parametr,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|parametr}} | _1 = Parametr do transformacji kodowania.
| 2 = {{Code|encode}} i {{Code|encode_real}} | _2 = Te parametry to samo oznaczają, co w funkcji: {{LinkŚródtytuł|p.IsEncodedHtml}},
| 3 = {{Code|czy_nie_odstepy}} | _3 = To samo oznacza, co w funkcji: {{LinkŚródtytuł|p.EncodeWiki}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeHtml/}}.
== {{Śródtytuł|p.DecodeHtml}}{{Code|p.DecodeHtml}} ==
Funkcja sprawdza, czy: {{Code|parametr}}, czy można uznać za zakodowany, a jeżeli można, to on zostanie w zależnosci od parametru: {{Code|spacje}}, to odpowiednio zostanie wywołana: {{LzLua|mw.uri.decode}}, a następnie w zależności od parametru (opis w parametrach) zostanie wywołana odpowiednia funkcja odkoduwująca lub kodująca, rodzaju: {{Code|wiki}}. Jeżeli ciąg rzeczywiście jest uznany za niezakodowany jest podobnie odpowiednio z tylko z wywołaniami funkcji rodzaju: {{Code|wiki}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHtml(parametr,spacje,encode,encode_real,czy_nie_odstepy)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|parametr}} | _1 = Parametr do odkodowania.
| 2 = {{Code|spacje}} | _2 = Gdy parametr odpowiada {{Code|true}} używa funkcji: {{LinkŚródtytuł|p.DecodeWiki}}, w przeciwnym wypadku: {{LinkŚródtytuł|p.EncodeWiki}}, ale wpierw musi zostać wywołana funkcja {{LzLua|mw.uri.decode}} w przypadku, gdy ciąg zostanie uznany za zakodowany, jak to robi funkcja {{LzLua|mw.uri.encode}}.
| 3 = {{Code|encode}} i {{Code|encode_real}} | _3 = Te parametry są używane przez funkcje: {{LinkŚródtytuł|p.IsEncodedHtml}},
| 4 = {{Code|czy_nie_odstepy}} | _4 = Gdy ciąg został uznany za niezakodowany, wtedy to jest drugi parametr funkcji: {{LinkŚródtytuł|p.DecodeWiki}}, lub: {{LinkŚródtytuł|p.EncodeWiki}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/DecodeHtml/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5g6xdbori0x3gr3mhycrqmtslr6e2nx
Wikibooks:Moduły/Html/Tom VII
4
64485
560567
559981
2026-11-04T08:29:11Z
Persino
2851
560567
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml}}{{Code|p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml}} ==
Szuka atrybutów w cudzysłowach i w nich elementy: {{Code|<nowiki><>&</nowiki>}}, zamienia na kody dziesiętne '''HTML''', a także znaki lewego ukośnika: {{Code|<nowiki>\</nowiki>}}, też na to.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml(znacznik)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|znacznik}} | _1 = Atrybut do przetwarzania, aby w nim zamienić niektóre znaki, które przeszkadzają w analizie na kody, o odpowiednim formacie, '''HTML'''.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TekstoweZnakiTypowoTagoweParametroweZamienianiaNaKodHtml/}}.
== {{Śródtytuł|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak}}{{Code|p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak}} ==
Zamienia kody '''HTML''', tzn.: {{Code|{{Nowiki|<}}}}, {{Code|{{Nowiki|>}}}} i {{Code|{{Nowiki|&}}}}, na odpowiednio znaki, a także elementy: {{Code|{{Nowiki|\"}}}}, na: {{Code|<nowiki>\"</nowiki>}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak(value)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|value}} | _1 = Parametr do transformacji niektórych kodów '''HTML''' na znaki.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TekstoweKodyHtmlZnacznikoweTypowoTagoweParametroweZamienianiaNaZnak/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
6c43y66jqhk3xcnl5ron3sh0so72n4f
Wikibooks:Moduły/Html/Tom VIII
4
64486
560568
559982
2026-11-04T08:31:01Z
Persino
2851
560568
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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["NagłówekStronyAdresu"]}}{{Code|p["NagłówekStronyAdresu"]}} ==
Funkcja wydziela nagłówek z adresu strony, funkcja ma własną tabelę buforową nazw.
Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NagłówekStronyAdresu"]=function(frame,czy_nie_dolne_myslniki,tabela_nazw_adresu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu.
| 2 = {{Code|czy_nie_dolne_myslniki}} | _2 = Gdy {{Code|true}}, jeśli w nagłówku nie ma prawa być dolnych myślników.
| 3 = {{Code|tabela_nazw_adresu}} |_3 = Tabela nazw zespołu funkcji, która obejmuje funkcje {{LinkŚródtytuł|p["NagłówekStronyAdresu"]}}, {{LinkŚródtytuł|p["ParametryStronyAdresu"]}} i {{LinkŚródtytuł|p["NazwaStronyAdresu"]}}.
}}
Funkcja usuwa zbędne odstępy i dolne myślniki na końcach nagłówka, i powtarzające się znaki będące odstępami lub dolnymi myślnikami są zastępowane przez jedną spację, gdy: {{Code|czy_nie_dolne_myslniki}}, równa jest wartości odpowiadającej {{Code|true}}, w przeciwnym wypadku zamieniana jest ona na jeden dolny myślnik.
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|nazwa jednostki}}, {{Code|strona}} lub {{Code|1}} | _1 = Nazwa jednostki (strony), tzn. jego adres.
| 2 = {{Code|z nie dolnymi z myślnikami}} lub {{Code|2}}, bądź drugi zwyły parametr funkcji {{Code|czy_nie_dolne_myslniki}} | _2 = Znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/NagłówekStronyAdresu/}}.
== {{Śródtytuł|p["ParametryStronyAdresu"]}}{{Code|p["ParametryStronyAdresu"]}} ==
Funkcja wydziela parametry z adresu strony, funkcja ma własną tabelę buforową nazw.
Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["ParametryStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu.
| 2 = {{Code|czy_naprawiaj}} | _2 = Parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów adresu, wydzieloną z pełnego adresu strony.
| 3 = {{Code|tabela_nazw_adresu}} |_3 = Tabela nazw zespołu funkcji, która obejmuje funkcje {{LinkŚródtytuł|p["NagłówekStronyAdresu"]}}, {{LinkŚródtytuł|p["ParametryStronyAdresu"]}} i {{LinkŚródtytuł|p["NazwaStronyAdresu"]}}.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|nazwa jednostki}}, {{Code|strona}} lub {{Code|1}} | _1 = Nazwa jednostki (strony), tzn. jego adres.
| 2 = {{Code|czy naprawiać}} lub {{Code|2}}, bądź parametr drugi funkcji: {{Code|czy_naprawiaj}} | _2 = Znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ParametryStronyAdresu/}}.
== {{Śródtytuł|p["NazwaStronyAdresu"]}}{{Code|p["NazwaStronyAdresu"]}} ==
Funkcja wydziela nazwę strony z adresu strony, funkcja ma własną tabelę buforową nazw.
Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["NazwaStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu.
| 2 = {{Code|czy_naprawiaj}} | _2 = Parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z adresu strony, bez parametrów i nagłówka, wydzieloną z pełnego adresu strony.
| 3 = {{Code|tabela_nazw_adresu}} | _3 = Tabela nazw zespołu funkcji, która obejmuje funkcje {{LinkŚródtytuł|p["NagłówekStronyAdresu"]}}, {{LinkŚródtytuł|p["ParametryStronyAdresu"]}} i {{LinkŚródtytuł|p["NazwaStronyAdresu"]}}.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|nazwa jednostki}}, {{Code|strona}} lub {{Code|1}} | _1 = Nazwa jednostki (strony), tzn. jego adres.
| 2 = {{Code|czy naprawiać}} lub {{Code|2}}, bądź parametr drugi funkcji: {{Code|czy_naprawiaj}} | _2 = Znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/NazwaStronyAdresu/}}.
== {{Śródtytuł|p["NazwaStronyZParametrówStronyAdresu"]}}{{Code|p["NazwaStronyZParametrówStronyAdresu"]}} ==
Funkcja wydziela nazwę strony z parametrów adresu strony.
Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}.
<syntaxhighlight lang="lua">
p["NazwaStronyZParametrówStronyAdresu"]=function(frame,czy_naprawiaj)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu.
| 2 = {{Code|czy_naprawiaj}} | _2 = Parametr przedstawiający, czy ma suwać zbędne odstępy i dolne myślniki z parametrów strony adresu, i czy zamieniać je na pojedyncze spacje wewnątrz nazwy artykułu wydzieloną z parametrów strony.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|parametry}} lub {{Code|1}} | _1 = Nazwa jednostki (strony), tzn. jego adres.
| 2 = {{Code|czy naprawiać}} lub {{Code|2}}, bądź drugi parametr funkcji: {{Code|czy_naprawiaj}} | _2 = Znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/NazwaStronyZParametrówStronyAdresu/}}.
== {{Śródtytuł|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]}}{{Code|p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]}} ==
Funkcja poprawia pełny adres strony, rozdzielając ją na części, a później łącząc. Funkcja ma własną tabelę buforową nazw.
Funkcja do zbierania parametrów ramki {{Code|frame}} używa funkcji: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p["PoprawAdresNagłówkaOrazParametrówStronyAdresu"]=function(frame,czy_naprawiaj,tabela_nazw_adresu)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = tablica ramki funkcji tablicy transportu.
| 2 = {{Code|czy_naprawiaj}} | _2 = Parametr przedstawiający, czy ma naprawiać pełny adres strony, działając w sposób specyficzny w zależności od funkcji, która operuje na jej częściach, wykorzystując funkcje, które są napisane w linii zaraz poniżej.
| 3 = {{Code|tabela_nazw_adresu}} | _3 = tabela nazw zespołu funkcji, która obejmuje funkcje {{LinkŚródtytuł|p["NagłówekStronyAdresu"]}}, {{LinkŚródtytuł|p["ParametryStronyAdresu"]}} i {{LinkŚródtytuł|p["NazwaStronyAdresu"]}}.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|nazwa jednostki}}, {{Code|strona}} lub {{Code|1}} | _1 = Nazwa jednostki (strony), tzn. jego adres.
| 2 = {{Code|czy naprawiać}} lub {{Code|2}}, bądź drugi parametr funkcji: {{Code|czy_naprawiaj}} | _2 = Znaczą to samo, co pierwszy parametr w tym wierszu, który jest parametrem funkcji.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/PoprawAdresNagłówkaOrazParametrówStronyAdresu/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
n1ppizq0p0ifi9q555kqbofl7se4m72
Wikibooks:Moduły/Html/Tom X
4
64488
560569
560086
2026-11-04T08:33:00Z
Persino
2851
560569
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.DecodeKoduHTMLZnaku}}{{Code|p.DecodeKoduHTMLZnaku}} ==
Zamienia kody '''HTML''', tzn. literowe (ogólny wzór: {{Code|<nowiki>&(%a+);</nowiki>}}), dziesiętne (ogólny wzór: {{Code|<nowiki>&#(%d+);</nowiki>}}) i szesnastkowe (ogólny wzór {{Code|<nowiki>&#x(%x+);</nowiki>}}) na odpowiednie znaki.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeKoduHTMLZnaku(tekst)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} | _1 = Tekst do zamienienia z dziesiętnymi, szesnastkowymi i literowymi kodami '''HTML''' na odpowiednie znaki.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/DecodeKoduHTMLZnaku/}}.
== {{Śródtytuł|p.ZamianaEncodeTekst}}{{Code|p.ZamianaEncodeTekst}} ==
Adres strony dekoduje funkcją: {{LzLua|mw.uri.decode}}, następnie koduje, jeszcze więcej niż było na samym początku, według: {{LzLua|mw.uri.encode}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeTekst(tekst)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} | _1 = Tekst do odkodowania i zakodowania jeszcze więcej niż było na początku zakodowane.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZamianaEncodeTekst/}}.
== {{Śródtytuł|p.ZamianaEncodeNaPodstawieWzoruTekstu}}{{Code|p.ZamianaEncodeNaPodstawieWzoruTekstu}} ==
Funkcja wyszukuje tekst do zamiany i działa na niego funkcją: {{LinkŚródtytuł|p.ZamianaEncodeTekst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.ZamianaEncodeNaPodstawieWzoruTekstu(tekst,wzor,funkcja)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} | _1 = Zawartość, na którą działamy.
| 2 = {{Code|wzor}} | _2 = Części do podziałania tą funkcją.
| 3 = {{Code|funkcja}} | _3 = Funkcja, którą działamy na te części.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/ZamianaEncodeNaPodstawieWzoruTekstu/}}.
== {{Śródtytuł|p.EncodePodstawoweHtmlTekstu}}{{Code|p.EncodePodstawoweHtmlTekstu}} ==
Funkcja blokuje odkodowywanie możliwych kodów '''HTML''' znaku: {{Code|<nowiki>#</nowiki>}}, w tym celu wywoływana jest funkcja: {{LinkŚródtytuł|p.KodowanieOmijanieFunkcyjne|Html/Tom I}}, do omijania tego znaku, funkcja omija tylko znaki zapisane w kodach '''HTML''', tzn.: {{Code|{{Nowiki|#}}}}, w tym celu wszystkie kody tego znaku zamieniamy na jeden, kolejno przed i po wywołaniem tej funkcji, funkcjami: {{LinkŚródtytuł|p.EncodeHashKoduHtmlTekstu|Html/Tom XI}} i {{LinkŚródtytuł|p.DecodeHashKoduHtmlTekstu|Html/Tom XI}}.
Ta funkcja w pierwszym kroku, w nim we wspomnianej funkcji wywołanej w funkcji anonimowej, wywołuje funkcję dekodujące znaki, czyli: {{LinkŚródtytuł|p.DecodeKoduHTMLZnaku}}, do odkodowania kodów, '''HTML''', dziesiętnych, szesnastkowych i literowych. Po samym końcu kodowane są specjalne znaki na podstawie: {{LinkŚródtytuł|p.EncodeSpecjalneZnakiHtml|Html/Tom II}}, na kody '''HTML'''.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodePodstawoweHtmlTekstu(elementy_adresu_strony)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|elementy_adresu_strony}} | _1 = Funkcja do podstawowego kodowania adresu.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodePodstawoweHtmlTekstu/}}.
== {{Śródtytuł|p.EncodeElementyAdresuStrony}}{{Code|p.EncodeElementyAdresuStrony}} ==
Gdy mamy problem (przypadek) z parametrami adresu strony, wtedy do kodowania wywoływana jest funkcja {{LinkŚródtytuł|p.EncodeZaawansowanyParametryHtml|Html/Tom XV}}, a gdy posługujemy się właściwym adresem strony lub nagłówkiem, wtedy dekodujemy '''URL''' funkcją: {{LzLua|mw.uri.decode}}, następnie: {{LinkŚródtytuł|p.EncodePodstawoweHtmlTekstu}}, i jeżeli mały włączone kodowanie, następnie: {{LzLua|mw.uri.encode}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeElementyAdresuStrony(elementy_adresu_strony,czy_parametry_strony,z_kodowaniem)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|elementy_adresu_strony}} | _1 = Element adresu strony.
| 2 = {{Code|czy_parametry_strony}} | _2 = Czy parametry strony rozważać, jako że wtedy jest taki adres jako parametry.
| 3 = {{Code|z_kodowaniem}} | _3 = Czy ostateczny tekst przetworzony przed nim ma być podany do zakodowania.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeElementyAdresuStrony/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
aogdgb4e2zfieihorewmt67ciqy3pmf
Wikibooks:Moduły/Html/Tom XI
4
64489
560570
559985
2026-11-04T08:33:49Z
Persino
2851
560570
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.EncodeHashKoduHtmlTekstu}}{{Code|p.EncodeHashKoduHtmlTekstu}} ==
Funkcja koduje kod '''HTML''' znaku: {{Code|<nowiki>#</nowiki>}}, czyli: {{Code|{{Nowiki|#}}}}, {{Code|{{Nowiki|#}}}} i {{Code|{{Nowiki|#}}}}. Te wszystkie kody funkcja zamienia je z każdych na kod: {{Code|{{Nowiki|&num;}}}}. Funkcja zwraca przetworzony tekst, ze zmienną: {{Code|ile}}, mówiącej ile jest możliwych kodów na stronie, także z: {{Code|ile2}}, wskazującej, ile jest kodów na stronie rozwazanego znaku.
Funkcja używana, gdy nie chcemy, by dodatkowe znaki: {{Code|<nowiki>#</nowiki>}}, przeskadzały na rozkład adresu strony na właściwy adres, parametry i nagłówek strony, co po rozkładzie wywoływana jest jego też jego funkcja odwrotna: {{LinkŚródtytuł|p.DecodeHashKoduHtmlTekstu}}, a tak powstałe znaki: {{Code|{{Nowiki|#}}}}, ze wszystkich tych kodów: {{Code|<nowiki>#</nowiki>}}, według pewnych funkcji modułu: {{Code|{{ld2|Html}}}}, że one nie zostaną odkodowane, bo są one pomijane przy analizie nagłówkowej.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeHashKoduHtmlTekstu(tekst)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeHashKoduHtmlTekstu/}}.
== {{Śródtytuł|p.DecodeHashKoduHtmlTekstu}}{{Code|p.DecodeHashKoduHtmlTekstu}} ==
Jeżeli dokonano zamiany możliwych kodów: {{Code|{{Nowiki|#}}}}, {{Code|{{Nowiki|#}}}} i {{Code|{{Nowiki|#}}}}, na: {{Code|{{Nowiki|#num}}}}, wtedy druga zmienna z parametrów jest większa od zera, wtedy możliwa jest tego zamiana na kod: {{Code|{{Nowiki|#}}}}, z kodu: {{Code|{{Nowiki|#num}}}}, używając tej funkcji.
Funkcja używana, gdy właściwy adres, parametry i nagłówek strony zostały po rozłączeniu na te części z pełnego adresu strony, wraz z innymi funkcjami odkodowującymi znaki niektóre '''HTML''', zostały wywołane w celu odkodowania różnych części zakodowanych wcześniej, oraz jeżeli ciało jej wersji prostej została wywołana wcześniej.
Funkcją odwrotną do tego w nagłówku ma nazwę: {{LinkŚródtytuł|p.EncodeHashKoduHtmlTekstu}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeHashKoduHtmlTekstu(tekst,ile)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia,
| 2 = {{Code|ile}} | _2 = {{Code|<nowiki>ile>0</nowiki>}}, jeżeli dokonano możliwych zamian kodów znaku: {{Code|<nowiki>#</nowiki>}}, na: {{Code|{{Nowiki|#num}}}}.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/DecodeHashKoduHtmlTekstu/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
l3n7qv72wakvha7irifsi6tlpzhe5zm
Wikibooks:Moduły/Html/Tom XII
4
64490
560571
559987
2026-11-04T08:35:17Z
Persino
2851
560571
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.EncodeTempHashKoduHtmlTekstu}}{{Code|p.EncodeTempHashKoduHtmlTekstu}} ==
Jeżeli mamy jakieś kody '''HTML''', to aby one nie przeszkadzały w rozkładzie na właściwy adres, parametry i nagłówek strony, to te tam: {{Code|<nowiki>#</nowiki>}}, należy zamienić na: {{Code|{{Nowiki|#}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeTempHashKoduHtmlTekstu(tekst)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeTempHashKoduHtmlTekstu/}}.
== {{Śródtytuł|p.DecodeTempHashKoduHtmlTekstu}}{{Code|p.DecodeTempHashKoduHtmlTekstu}} ==
Jeżeli mamy jakieś kody '''HTML''', to aby one nie przeszkadzały w rozkładzie na właściwy adres, parametry i nagłówek strony, to te tam: {{Code|<nowiki>#</nowiki>}}, należy zamienić na: {{Code|{{Nowiki|#}}}}. One tak zostały zamienione funkcją {{LinkŚródtytuł|p.EncodeTempHashKoduHtmlTekstu}}. Po rozłożeniu na trzy części pełnego adresu strony, tzn. na właściwy adres, parametry i nagłówek strony, możemy wywołać dla każdej z nich tę funkcję, wykonując operację odwrotną.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeTempHashKoduHtmlTekstu(tekst,ile1,ile2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia i po rozdzieleniu na trzy części.
| 2 = {{Code|ile1}} | _2 = Ile jest przetworzonych kodów dziesiętnych przez funkcje do rozważanej prostej.
| 3 = {{Code|ile2}} | _3 = Ile jest przetworzonych kodów szesnastkowych przez funkcją do rozważanej prostej.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki k{{OpisParametrów
| tytuł = Opis parametrów funkcji:odu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/DecodeTempHashKoduHtmlTekstu/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
s5bwv4e764adlv824rryzrvhea6ifkb
560572
560571
2026-11-04T08:36:24Z
Persino
2851
560572
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.EncodeTempHashKoduHtmlTekstu}}{{Code|p.EncodeTempHashKoduHtmlTekstu}} ==
Jeżeli mamy jakieś kody '''HTML''', to aby one nie przeszkadzały w rozkładzie na właściwy adres, parametry i nagłówek strony, to te tam: {{Code|<nowiki>#</nowiki>}}, należy zamienić na: {{Code|{{Nowiki|#}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeTempHashKoduHtmlTekstu(tekst)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeTempHashKoduHtmlTekstu/}}.
== {{Śródtytuł|p.DecodeTempHashKoduHtmlTekstu}}{{Code|p.DecodeTempHashKoduHtmlTekstu}} ==
Jeżeli mamy jakieś kody '''HTML''', to aby one nie przeszkadzały w rozkładzie na właściwy adres, parametry i nagłówek strony, to te tam: {{Code|<nowiki>#</nowiki>}}, należy zamienić na: {{Code|{{Nowiki|#}}}}. One tak zostały zamienione funkcją {{LinkŚródtytuł|p.EncodeTempHashKoduHtmlTekstu}}. Po rozłożeniu na trzy części pełnego adresu strony, tzn. na właściwy adres, parametry i nagłówek strony, możemy wywołać dla każdej z nich tę funkcję, wykonując operację odwrotną.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.DecodeTempHashKoduHtmlTekstu(tekst,ile1,ile2)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|tekst}} | _1 = Tekst do przetworzenia i po rozdzieleniu na trzy części.
| 2 = {{Code|ile1}} | _2 = Ile jest przetworzonych kodów dziesiętnych przez funkcje do rozważanej prostej.
| 3 = {{Code|ile2}} | _3 = Ile jest przetworzonych kodów szesnastkowych przez funkcją do rozważanej prostej.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/DecodeTempHashKoduHtmlTekstu/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
rwx0bgzsam8evlcco4924u3587w9p59
Wikibooks:Moduły/Html/Tom XIII
4
64491
560573
560003
2026-11-04T08:38:43Z
Persino
2851
560573
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.StronaParametryIdentyfikacjaAdresuHtml}}{{Code|p.StronaParametryIdentyfikacjaAdresuHtml}} ==
Funkcja z całkowitego adresu składającego się z adresu właściwego, parametrów i nagłówka, rozdziela na trzy części, z których się składa.
Funkcja sprawdza, czy jakikolwiek kody '''HTML''' występują w pełnym adresie strony, jeżeli są, to przedtem koduje jeszcze lepiej kody znaków: {{Code|<nowiki>#</nowiki>}}, przy pomocy funkcji: {{LinkŚródtytuł|p.EncodeHashKoduHtmlTekstu|Html/Tom XI}}, a później w kodach '''HTML''' znak: {{Code|<nowiki>#</nowiki>}}, jest zamieniany na kod literowy '''HTML''', czyli: {{Code|{{Nowiki|#}}}}, funkcją: {{LinkŚródtytuł|p.EncodeTempHashKoduHtmlTekstu|Html/Tom XII}} (jeżeli w adresie kody istnieją), wtedy coś powstaje w rodzaju dla kodu dziesiętnego: {{Code|<nowiki>&#(%d+);</nowiki>}}, i szesnastkowego: {{Code|<nowiki>&#x(%x+);</nowiki>}} - gdzie w nich: {{Code|<nowiki>#</nowiki>}}, został zamieniony na: {{Code|{{Nowiki|#}}}}, które są przedstawione według wyrażeń regularnych {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.
Funkcja rozdziela adres na trzy części, a później odkodowuje każdą część funkcją: {{LinkŚródtytuł|p.DecodeTempHashKoduHtmlTekstu|Html/Tom XII}} (jeżeli w adresie kody w ogóle istniały), i podobnie później: {{LinkŚródtytuł|p.DecodeHashKoduHtmlTekstu|Html/Tom XI}} (jeżeli kody znaku: {{Code|<nowiki>#</nowiki>}}, były wcześniej).
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.StronaParametryIdentyfikacjaAdresuHtml(adres)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|adres}} | _1 = Adres do podrzelenia na trzy części.
}}
Funkcja zwraca trzy wartości, tzn. adres właściwy (bez parametrów i nagłówka), parametry (używane jako dodatek do adresów przy formułowaniu formularzy) i nagłówek (który jest adresem na stronie do odpowiedniego elementu o danym atrybucie: {{Code|id}}).
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/StronaParametryIdentyfikacjaAdresuHtml/}}.
== {{Śródtytuł|p.TworzenieAdresuHtml}}{{Code|p.TworzenieAdresuHtml}} ==
Funkcja łączy, stronę, parametry i nagłówek strony, w pełną nazwę strony (adresu), dalej jest uruchamiana funkcja ddekodująca ciagi znakowe: {{Code|{{Nowiki|&#}}}}. Funkcja wykorzystuje do dekodowania tego {{LinkŚródtytuł|p.DecodeHashKoduHtmlTekstu|Html/Tom XI}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TworzenieAdresuHtml(strona,parametry,naglowek)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|strona}} | _1 = Normalny adres strony, bez parametrów i nagłówka,
| 2 = {{Code|parametry}} | _2 = Parametry strony w formacie: {{Code|nazwa{{=}}wartość}} oddzielone od siebie znakiem: {{Code|<nowiki>&</nowiki>}},
| 3 = {{Code|nagłówek}} | _3 = Nagłówek linkujący do: {{Code|id}}, jakiegoś elementy na stronie,
}}
Funkcja zwraca całkowity adres z adresem właściwym, parametrami (po: {{Code|<nowiki>?</nowiki>}}, jeżeli po nim występują wartości przyrównane nazwą zmiennych '''HTML''') i nagłówkiem (po: {{Code|<nowiki>#</nowiki>}}).
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TworzenieAdresuHtml/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5cvzqb4knogoxorebpqj5p5xdhu68na
Wikibooks:Moduły/Html/Tom XIV
4
64492
560574
560004
2026-11-04T08:39:15Z
Persino
2851
560574
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.TworzenieStronaParametryIdentyfikacjaAdresuHtml}}{{Code|p.TworzenieStronaParametryIdentyfikacjaAdresuHtml}} ==
Pełny adres strony, bezprotokolarny (lub protokolarny, jeżeli rozdzielimy, w pierwszej funkcji anonimowej w tej nagłówku, na protokół i adres bezprotokolarny, czyli na dwie części, zrobimy operacje, a później je złączymy w nim), linków zewnętrznych lub wewnętrznych, z adresem właściwym, parametrami (jeśli mechanizm {{NS|k=mw|w=tak|l=tak|pk=m}}, to uwzględnia) i nagłówkiem strony.
Adres dzielimy je na trzy części funkcją: {{LinkŚródtytuł|p.StronaParametryIdentyfikacjaAdresuHtml|Html/Tom XIII}}, następnie na każdą z tych elementów działamy odpowiednimi funkcjami, a potem ich wyniki łączymy w pełny adres strony funkcją: {{LinkŚródtytuł|p.TworzenieAdresuHtml|Html/Tom XIII}}.
Przy analizie adresów, właściwych, parametrów i nagłówków, funkcja z trzech funkcji strony, parametrów i nagłówka, w której w drugim parametrze jest procedura, należy opcjonalnie skorzystać, będąca algorytmem wbudowanym w funkcję do przetwarzania tych adresów, jako ich drugi parametr.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.TworzenieStronaParametryIdentyfikacjaAdresuHtml(adres,funkcja_strona,funkcja_parametry,funkcja_naglowek)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|adres}} | _1 = Pełny adres do przetworzenia.
| 2 = {{Code|funkcja_strona}} | _2 = Funkcja, którą działamy na właściwy adres strony, bez parametrów i nagłówka.
| 3 = {{Code|funkcja_parametry}} | _3 = Funkcja, którą działamy na parametry adresu strony.
| 4 = {{Code|funkcja_naglowek}} | _4 = Funkcja, którą działamy na nagłówek strony adresu.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/TworzenieStronaParametryIdentyfikacjaAdresuHtml/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7dld2y7ujlkm6755xrligdwc64qjwvh
Wikibooks:Moduły/Html/Tom XV
4
64493
560575
560006
2026-11-04T08:40:58Z
Persino
2851
560575
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.EncodeParametryURL}}{{Code|p.EncodeParametryURL}} ==
Funkcja przystosowana do analizy adresu, tzn. przede wszystkim adresów bezprotokolarnych (lub protokolarnych, jeżeli rozdzielimy to na protokół i adres bezprotokolarny, czyli na dwie części, według pierwszej funkcji w tym nagłówku, zrobimy operacje, a później je złączymy) linków zewnętrznych i wewnętrznych, pełnego strony ze specjalistycznym analizatorem parametrów adresu.
Funkcja właściwy adres strony i nagłówek działa odpowiednimi procedurami. Funkcja do tego wykorzystuje lub nie, ale ma to w definicji, funkcję: {{LinkŚródtytuł|p.TworzenieStronaParametryIdentyfikacjaAdresuHtml|Html/Tom XIV}}.
Funkcja też może też służyć do analizy tylko parametrów, jeżeli drugi parametr jest {{Code|false}} lub {{Code|nil}}, a jeżeli wartość odpowiada wartości logicznej {{Code|true}}, to trzeba rozpatrywać pełne adresy stron protokolarne, czy nie, omówione na początku w tym rozdziale.
Przy analizie nazw i wartości parametrów wykorzystuje: {{LinkŚródtytuł|p.ZamianaEncodeTekst|Html/Tom X}}.
Dla adresu, bez części parametrowej i nagłówkowej, operacje są robione, oprócz znaków: {{Code|/}}.
Przy analizie adresów właściwych i nagłówków funkcja, z dwóch funkcji strony i nagłówka, w której w drugim parametrze jest wbudowana procedura, których należy opcjonalnie skorzystać, będąca algorytmem wbudowanym w funkcję do przetwarzania tych adresów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
p.EncodeParametryURL(adres,w_adresie,funkcja_strona,funkcja_naglowek)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|adres}} | _1 = Pełny adres strony z parametrami i nagłówkiem.
| 2 = {{Code|z_kodowaniem}} | _2 = Czy ostateczny tekst przetworzony przed nim ma być podany do zakodowania.
| 3 = {{Code|w_adresie}} | _3 = Czy rozpatrywać cały adres, a nie tylko parametry.
| 4 = {{Code|funkcja_strona}} | _4 = Funkcja, którą działamy na adres właściwy strony, bez parametrów i nagłówka.
| 5 = {{Code|funkcja_naglowek}} | _5 = funkcja, którą działamy na nagłówek.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeParametryURL/}}.
== {{Śródtytuł|p.EncodeZaawansowanyParametryURL}}{{Code|p.EncodeZaawansowanyParametryURL}} ==
Funkcja przystosowana do analizy adresu, tzn. przede wszystkim adresów bezprotokolarnych (lub protokolarnych, jeżeli rozdzielimy to na protokół i adres bezprotokolarny, czyli na dwie części, według pierwszej funkcji w tym nagłówku, zrobimy operacje, a później je złączymy) linków zewnętrznych i wewnętrznych, pełnego strony ze specjalistycznym analizatorem parametrów adresu.
Funkcja właściwy adres strony i nagłówek działa odpowiednimi funkcjami, jest to robione wewnwętrz funkcji: {{LinkŚródtytuł|p.TworzenieStronaParametryIdentyfikacjaAdresuHtml|Html/Tom XIV}}.
Funkcja też może też służyć do analizy tylko parametrów, jeżeli drugi parametr jest {{Code|false}} lub {{Code|nil}}, a jeżeli wartość odpowiada wartości logicznej {{Code|true}}, to trzeba rozpatrywać pełne adresy stron protokolarne, czy nie, omówione na początku w tym rozdziale.
Przy analizie przy analizie tych trzech uzyskanych zmiennych parametrów wykorzystuje: {{LinkŚródtytuł|p.EncodeSpecjalneZnakiHtml|Html/Tom II}}, ale przed nim wywoływana jest funkcja: {{LzLua|mw.uri.decode}}, a po nim: {{LzLua|mw.uri.encode}}.
Dla adresu, bez części parametrowej i nagłówkowej, operacje są robione, oprócz znaków: {{Code|/}}.
Przy analizie adresów właściwych i nagłówków funkcja, z dwóch funkcji strony i nagłówka, w której w drugim parametrze jest wbudowana procedura, których należy opcjonalnie skorzystać, będąca algorytmem wbudowanym w funkcję do przetwarzania tych adresów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZaawansowanyParametryURL(adres,z_kodowaniem,w_adresie,funkcja_strona,funkcja_naglowek)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|adres}} | _1 = Pełny adres strony z parametrami i nagłówkiem.
| 2 = {{Code|z_kodowaniem}} | _2 = Czy ostateczny tekst przetworzony przed nim ma być podany do zakodowania.
| 3 = {{Code|w_adresie}} | _3 = Czy rozpatrywać cały adres, a nie tylko parametry.
| 4 = {{Code|funkcja_strona}} | _4 = Funkcja, którą działamy na adres właściwy strony, bez parametrów i nagłówka.
| 5 = {{Code|funkcja_naglowek}} | _5 = funkcja, którą działamy na nagłówek.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeZaawansowanyParametryURL/}}.
== {{Śródtytuł|p.EncodeParametryHtml}}{{Code|p.EncodeParametryHtml}} ==
Funkcja przystosowana do analizy adresu, tzn. przede wszystkim adresów bezprotokolarnych (lub protokolarnych, jeżeli rozdzielimy to na protokół i adres bezprotokolarny, czyli na dwie części, według pierwszej funkcji w tym nagłówku, zrobimy operacje, a później je złączymy) linków zewnętrznych i wewnętrznych, pełnego strony ze specjalistycznym analizatorem parametrów adresu.
Funkcja właściwy adres strony i nagłówek działa odpowiednimi funkcjami, jest to robione wewnwętrz funkcji: {{LinkŚródtytuł|p.TworzenieStronaParametryIdentyfikacjaAdresuHtml|Html/Tom XIV}}.
Funkcja też może też służyć do analizy tylko parametrów, jeżeli drugi parametr jest {{Code|false}} lub {{Code|nil}}, a jeżeli wartość odpowiada wartości logicznej {{Code|true}}, to trzeba rozpatrywać pełne adresy stron protokolarne, czy nie, omówione na początku w tym rozdziale.
Przy analizie nazw i wartości parametrów wykorzystuje {{LinkŚródtytuł|p.EncodeHtml|Html/Tom VI}}.
Dla adresu, bez części parametrowej i nagłówkowej, operacje są robione, oprócz znaków: {{Code|/}}, to jest robione przy pomocy: {{LinkŚródtytuł|p.ZamianaEncodeNaPodstawieWzoruTekstu|Html/Tom X}}.
Przy analizie adresów właściwych i nagłówków funkcja, z dwóch funkcji strony i nagłówka, w której w drugim parametrze jest wbudowana procedura, których należy opcjonalnie skorzystać, będąca algorytmem wbudowanym w funkcję do przetwarzania tych adresów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeParametryHtml(parametr,w_adresie,funkcja_strona,funkcja_naglowek)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|adres}} | _1 = Pełny adres strony z parametrami i nagłówkiem.
| 2 = {{Code|w_adresie}} | _2 = Czy rozpatrywać cały adres, a nie tylko parametry.
| 3 = {{Code|funkcja_strona}} | _3 = Funkcja, którą działamy na adres właściwy strony, bez parametrów i nagłówka.
| 4 = {{Code|funkcja_naglowek}} | _4 = Funkcja, którą działamy na nagłówek.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeParametryHtml/}}.
== {{Śródtytuł|p.EncodeZaawansowanyParametryHtml}}{{Code|p.EncodeZaawansowanyParametryHtml}} ==
Funkcja przystosowana do analizy adresu, tzn. przede wszystkim adresów bezprotokolarnych (lub protokolarnych, jeżeli rozdzielimy to na protokół i adres bezprotokolarny, czyli na dwie części, według pierwszej funkcji w tym nagłówku, zrobimy operacje, a później je złączymy) linków zewnętrznych i wewnętrznych, pełnego strony ze specjalistycznym analizatorem parametrów adresu.
Funkcja właściwy adres strony i nagłówek działa odpowiednimi funkcjami, jest to robione wewnwętrz funkcji: {{LinkŚródtytuł|p.TworzenieStronaParametryIdentyfikacjaAdresuHtml|Html/Tom XIV}}.
Funkcja też może też służyć do analizy tylko parametrów, jeżeli drugi parametr jest {{Code|false}} lub {{Code|nil}}, a jeżeli wartość odpowiada wartości logicznej {{Code|true}}, to trzeba rozpatrywać pełne adresy stron protokolarne, czy nie, omówione na początku w tym rozdziale.
Przy analizie nazw i wartości parametrów wykorzystuje: {{LinkŚródtytuł|p.EncodePodstawoweHtmlTekstu|Html/Tom X}}, a przed nim wywoływana jest: {{LzLua|mw.uri.decode}}, a po nim jeżeli jest włączone kodowanie w zmiennej drugiej funkcji, wtedy: {{LzLua|mw.uri.encode}}.
Dla adresu, bez części parametrowej i nagłówkowej, operacje są robione, oprócz znaków: {{Code|/}}.
Przy analizie adresów właściwych i nagłówków funkcja, z dwóch funkcji strony i nagłówka, w której w drugim parametrze jest wbudowana procedura, których należy opcjonalnie skorzystać, będąca algorytmem wbudowanym w funkcję do przetwarzania tych adresów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.EncodeZaawansowanyParametryHtml(adres,z_kodowaniem,w_adresie,funkcja_strona,funkcja_naglowek)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|adres}} | _1 = Pełny adres strony z parametrami i nagłówkiem.
| 2 = {{Code|z_kodowaniem}} | _2 = Czy ostateczny tekst przetworzony przed nim ma być podany do zakodowania.
| 3 = {{Code|w_adresie}} | _3 = Czy rozpatrywać cały adres, a nie tylko parametry.
| 4 = {{Code|funkcja_strona}} | _4 = funkcja, którą działamy na adres właściwy strony, bez parametrów i nagłówka.
| 5 = {{Code|funkcja_naglowek}} | _5 = funkcja, którą działamy na nagłówek.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/EncodeZaawansowanyParametryHtml/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mq5ez6sekv9or37e9a9s61ty8i61l7m
Wikibooks:Moduły/Html/Tom XVI
4
64494
560576
560007
2026-11-04T08:42:09Z
Persino
2851
560576
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.AdresDomniemanieBezProtokolarnyEncodeURL}}{{Code|p.AdresDomniemanieBezProtokolarnyEncodeURL}} ==
Funkcja korzysta z kombajna z funkcji: {{LinkŚródtytuł|p.EncodeParametryURL|Html/Tom XV}}. Główną funkcją kodującą jej jest: {{LinkŚródtytuł|p.ZamianaEncodeTekst|Html/Tom X}}.
Funkcja rozdziela adres, napisany bez nagłówka i parametrów, na protokół i adres bezprotolarny, w celu jego zakodowania funkcją: {{LinkŚródtytuł|p["UrlBezProtokołu"]|Html/Tom IX}}. Ona domyślnie koduje adres bezprotokolarny, a z podaniem drugiej wartości {{Code|true}} protokolarny. Funkcja do tego celu wykorzystuje funkcję {{LinkŚródtytuł|p.ZamianaEncodeNaPodstawieWzoruTekstu|Html/Tom X}}.
Dla adresu, bez części parametrowej i nagłówkowej, operacje są robione, oprócz znaków: {{Code|/}}, ado tego celu przy rozdzielaniu poziomów korzysta z: {{LinkŚródtytuł|p.ZamianaEncodeNaPodstawieWzoruTekstu|Html/Tom X}}.
Przy analizie adresów właściwych i nagłówków funkcja, z dwóch funkcji strony i nagłówka, w której w drugim parametrze jest wbudowana procedura, których należy opcjonalnie skorzystać, będąca algorytmem wbudowanym w funkcję do przetwarzania tych adresów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AdresDomniemanieBezProtokolarnyEncodeURL(adres,protokolarny)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|adres}} | _1 = Adres do zakodowania.
| 2 = {{Code|protokolarny}} | _2 = Czy ma rozkładać adres na nazwę strony i protokół.
}}
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/AdresDomniemanieBezProtokolarnyEncodeURL/}}.
== {{Śródtytuł|p.AdresProjektuEncodeHtml}}{{Code|p.AdresProjektuEncodeHtml}} ==
Funkcja korzysta z kombajna z funkcji: {{LinkŚródtytuł|p.EncodeZaawansowanyParametryHtml|Html/Tom XV}}, a w niej do dekodowania na samym początku '''URL''': {{LzLua|mw.uri.decode}}, a na końcu: {{LzLua|mw.uri.encode}}, jeżeli jest włączone kodowanie, między czasie korzysta z: {{LinkŚródtytuł|p.EncodePodstawoweHtmlTekstu|Html/Tom X}}. A przy rozdzielaniu poziomów korzysta z: {{LinkŚródtytuł|p.ZamianaEncodeNaPodstawieWzoruTekstu|Html/Tom X}}.
Dla adresu, bez części parametrowej i nagłówkowej, operacje są robione, oprócz znaków: {{Code|/}}.
Przy analizie adresów właściwych i nagłówków funkcja, z dwóch funkcji strony i nagłówka, w której w drugim parametrze jest wbudowana procedura, których należy opcjonalnie skorzystać, będąca algorytmem wbudowanym w funkcję do przetwarzania tych adresów.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AdresProjektuEncodeHtml(frame,z_kodowaniem,protokolarny)...end;
</syntaxhighlight>
{{OpisParametrów
| tytuł = Opis parametrów funkcji:
| 1 = {{Code|frame}} | _1 = Tablica ramki funkcji tablicy transportu modułu.
| 2 = {{Code|z_kodowaniem}} | _2 = Czy ostateczny tekst przetworzony przed nim ma być podany do zakodowania.
| 3 = {{Code|protokolarny}} | _3 = Czy uważać przy kodowaniu na protokoły pełnych adresów stron.
}}
Parametry tablicy ramki {{Code|frame}} funkcji tabeli transportu modułu:
{{OpisParametrów
| 1 = {{Code|html}} | _1 = Adres do kodowania.
| 2 = {{Code|encode}} | _2 = Czy kodować.
}}
Funkcja wyszukuje parametry w ramce funkcji tablicy transportu, dziecka lub rodzica, lub w tablicy o kluczach parametrze o takiej samej nazwie, a nawet w zmiennej tekstowej, według: {{LinkZobaczTeż|schemat parametrów funkcji|}}, a te nazwy tych parametrów są w tabelce. Też jest tam przedstawiony schemat ważności parametrów.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/AdresProjektuEncodeHtml/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
1lpbu11c4rwbmc0egofd5u9saj72sa1
Wikibooks:Moduły/Html/Tom XVII
4
64496
560577
560008
2026-11-04T08:43:38Z
Persino
2851
560577
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|Html}}|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.UriEncode}}{{Code|p.UriEncode}} ==
Funkcja do kodowania adresów tylko z protokołem, wartości bez protokołu nie obsługuje. Wykorzystuje {{LinkŚródtytuł|p.AdresDomniemanieBezProtokolarnyEncodeURL|Html/Tom XVI}}. A przy rozdzielaniu poziomów korzysta z: {{LinkŚródtytuł|p.ZamianaEncodeNaPodstawieWzoruTekstu|Html/Tom X}}.
Do wyszukiwania adresów jest brana funkcja: {{Code|{{sr|#p.PobierzParametr|p=Parametry}}}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.UriEncode(frame)...end;
</syntaxhighlight>
Parametry tablicy ramki {{Code|frame}} funkcji tablicy transportu:
{{OpisParametrów
| 1 = {{Code|html}} | _1 = Adres z protokołem strony.
}}
Jeżeli zawartością jednego parametru funkcji nie jest ramka, tylko inny parametr, który jest tekstem, wtedy to jest ten sam parametr, co: {{Code|html}}.
=== Przykład kodu na stronie modułów z przykładami na stronie ich opisów ===
Popatrz na wyniki kodu, w {{lpg|Lua}} w {{lpr|Lua|Scribunto}}, w specjalnej ramce w: {{m|Wikibooks/Przykład/Html/UriEncode/}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
qzw0i0vinzk82eum2zvidnlzhhtkg6n