Modul:String/doc
Ez a Modul:String dokumentációs lapja
E modulnak az a célja, hogy alapvető string függvényeket biztosítson unikódban kódolt stringekre. Ezeket az {{#invoke: String|stringfüggvény neve| paraméter | paraméter...}} sablonnal tudjuk aktiválni. A paraméterek száma, neve a függvény nevével összefüggésben változó.
A legtöbb itt bemutatott funkció nevesített, névtelen paraméterekkel, illetve ezek keverékével hívható meg. A névvel adott paraméterek jellemzője, hogy a paraméter karakterei előtt és után álló szóköz értékű (whitespace) karaktekreket lehántolja a paraméterről a Mediawiki. Ez azonban függhet attól, hogy mi a felhasználó szándéka, előnyös lehet, ha ezeket a Mediawiki nem távolítja el. Erre szolgál: a(z esetleg implicite) számozott paramétereknél nincs semmiféle lehántolás, a felesleges bevezető és követő szóközök változatlanul a paraméter részei maradnak.
Globális opciók:
- ignore_errors: Ha értéke 'true' vagy 1, akkor nem hibaüzenettel tér vissza a függvény, hanem a hibát ignorálva üres stringet ad vissza . Lásd például a Modul/Stringek/tesztdobozban : {{#invoke:String|sub|s=Nini, a király meztelen|i=7|j=34|ignore_errors=1}}
- error_category: Hiba esetén meghatározza annak a hiba kategóriának a nevét és beépíti a hibaüzenetbe ezt. A hiányzó (default) kategória [Kategória:A String modult hibásan használó lapok].
- no_category: Ha értéke 'true' vagy 1, akkor nem fog kategória név szerepelni a hibaüzenetben.
A modul tesztelését a Modul:String/tesztdoboz modullal végezhetjük.
len
[szerkesztés]A funkció visszatérési értéke a cél-string (target_string) hossza
Hívása: {{#invoke:String|len|target_string|}} OR {{#invoke:String|len|s=target_string}}
Paraméter
- s: A string, amelynek hosszára vagyunk kíváncsiak
Nevesített pareméterekről lehántja a felesleges bevezető ill. követő szóköz értékű (whitespace)karaktereket .
sub
[szerkesztés]A funkció a start indextől az end indexig terjedő karaktereivel tér vissza a megadott stringnek (target_string) Hívása: {{#invoke:String|sub|target_string|start_index|end_index}} OR {{#invoke:String|sub|s=target_string|i=start_index|j=end_index}}
Paraméterek
- s: a string, amelynek adott részét kívánjuk elérni, mint visszaadott értéket
- i: a kezdő index, amely már a visszaadott értékbe kerül, a hiányzó paraméter 1-et jelöl.
- j: az utólső index, amely még a visszaadott értékbe kerül.
A string első karakteréhez az 1 indexérték tartozik. Ha i, vagy j negatív érték, akkor azt úgy interpretálja, hogy a string végétől kell kezdeni az indexelést. Vagyis -1 a string utólsó karakterét választja ki.
Ha az i és j értékek a stringen kívülre mutatnak, így nem értelmezhetők, akkor hibajelentést kapunk: ( 'Szubstring a határokon kívül van' ), ha pedig a j < i akkor jön a ( 'Szubstring indexhiba' );
sublength
[szerkesztés]Egy már meghaladott sablon a {{str sub old}} magatartását implementálja, hogy a funkciója továbbra is fennmaradjon.Unikód karakterekkel működik. A string i-edik pozíciójától len hosszú szeletet ad vissza. Hívása: {{#invoke:String|sublenght|s=target_string|i=start_index|len=hossz}}
paraméterei
- s a string
- i a kezdő indexe a substringnek
- len a hossza a substringnek
Megjegyzés: itt hibajelentéseket nem kapunk!!!
match
[szerkesztés]A funkció visszaadja azt a rész-stringet, amely illeszkedik (matches) a megadott mintára. Hívása: {{#invoke:String|match|forrás_string|minta_string|start_index|illeszkedés száma|plain_flag|nomatch_output}} OR {{#invoke:String|match|s=forrás_string|pattern=minta_string|start=start_index |match=illeszkedés száma|plain=plain_flag|nomatch=nomatch_output}}
Paraméterek
- s: A keresendő string
- minta: ennek alapján keresünk a stringben illeszkedő részt
- start: ennél az indexnél inul a keresés a stringben. Az első karakteré az 1 index. Hiányzó start 1-nek felel meg.
- match: Lehetséges bizonyos stringeken belül több illeszkedő részt találni. Specifikálhatjuk, melyik illeszkedést akarjuk visszakapni. Ahol az elsőt akarjuk megkapni, akkor match= 1 et adunk meg. Ha e szám negatív egész, akkor az első a hátúlról vett első , azaz így match = -1 a legutólsó egyezést jelöli meg.
- plain: Ez a jelző indikálja, hogy a mintát egyszerű szövegnek kell tekinteni. pl. : %d%d%d%d/%d%d/%d%d síma szövegként. Ha nincs megadva, akkor az ugyanaz, mint "false", ilyenkor a minta szabályos Lua minta-kifejezés.
- nomatch: Egyezés esetleg nincs. Ilyen esetben a nomatch után megadott stringet kapjuk vissza és nem hibaüzenetet kapunk. pl: nomatch= dátum-hiba esetén "dátum-hiba"
A nevesített paraméterek esetében lehántolja a Mediawiki a bevezető és követő szóközöket minden stringről. Bizonyos esetekben ez az előnyös, más esetekben ennek ellenkezője (név nélkül megadott paraméternél).
Amennyiben az ignore_errors=true értékkel adjuk meg, akkor a hibát elnyomja és egy üres string a visszaadott értéke.
Ha a match_number vagy a start_index a string határain túlra vezetnek, akkor "A String Modulban hiba van: Startindex a string határain túl van" hibajelzést kajuk, valamint akkor is, ha nincs egyezés. További hibajezések:'A vizsgált string üres', 'Match zérus' és 'Üres a minta'. Mindig az első megtalált hibát jelzi ki, ha több van. A minták [Lua reguláris kifejezések] formájában való konstruálására információkat kapunk az alábbi linkeken:
- http://www.lua.org/manual/5.1/manual.html#5.4.1
- http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns
- http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns
pos
[szerkesztés]A pos paraméterrel megadott indexű karaktert adja vissza a stringből. Hívása: {{#invoke:String|pos|target_string|index_value}} OR {{#invoke:String|pos|target=target_string|pos=index_value}}
Paraméterek:
- target: a string, amiben keresünk
- pos: a lekérdezett karakter indexe
A nevesített paraméterek esetében lehántolja a Mediawiki a bevezető és követő szóközöket minden stringről. Bizonyos esetekben ez az előnyös, más esetekben ennek ellenkezője (név nélkül megadott paraméternél).
A string első karakteréhez az 1 indexérték tartozik. Ha i, vagy j negatív érték, akkor azt úgy interpretálja, hogy a string végétől kell kezdeni az indexelést. Vagyis -1 a string utólsó karakterét választja ki.
Ha pos érték a stringen kívűlre mutat, így nem értelmezhető, akkor" A pozíció a határokon kívül van" hibajelentést kapunk.
str_find
[szerkesztés]A {{str_find}} túlhaladott sablon miatt létezik még ez a függvény, de új sablonokban NE HASZNÁLD . Használd helyette a "find" kereső funkciót.
Az első olyan indexét adja vissza a forrásnak, amely a cél-stringgel egyző karaktert tartalmaz. Az első index 1. A visszatérési értéke -1, ha a cél-string nem található a forrásban.
Fontos tudni: ha a "target" string karakter nélküli, azaz üres, akkor 1-et ad vissza, ami egészen váratlan viselkedés a függvénytől, tehát az 1 lehet valós index és hibajel is!
find
[szerkesztés]A cél-stringet keresi a forrásban (target_string, source_str).
Hívása: {{#invoke:String|find|source_str|target_string|start_index|plain_flag}} OR {{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}}
Paraméterek
- source: a sting amelyben keresünk
- target: a string amit keresünk
- start: a keresés indul ettől az indextől a source stringben, ha nincs megadva, az 1
- plain: logikai érték Ez a jelző indikálja, hogy a mintát egyszerű szövegnek kell tekinteni. Ha nincs megadva, akkor az ugyanaz, mint "true".
Nevesített pareméterekről lehántja a felesleges bevezető ill. követő szóköz értékű (whitespace)karaktereket.
Visszaadja az első olyan indexet(>=start), ahol a"target" található a "source" stringen belül. Az indexelés 1-el indul. Ha "target"-et nem találja, 0 értékkel tér vissza. Akár a "source", akár "target" üres, vagy nem létező 0 értékkel tér vissza.
UTF-8 kódolású stringeken is működik.
replace
[szerkesztés]Ugyanaz, mint a find függvény, de a megtalált stringet, vagy a mintára illeszkedőt kicseréli a forrásban a csere (replace_) stringgel.
Usage: {{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}} OR {{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string|count=replacement_count|plain=plain_flag}}
Parameters
- source: a string amiben keres
- pattern: a string vagy minta a kereséshez
- replace: amire ki lesz cserélve
- count: ahány helyen ki lesz cserélve, ha nincs megadva, minden megtalált helyen cserél.
- plain: mint korábban is, síma szövegként és nem reguláris Lua kifejezésként kell interpretálnia a mintát. Ha nem adjuk meg, akkor "true" értékkel egyezik meg.
simpletitle
[szerkesztés]Oldalcímből eltávolítja a zárójeles egyértelműsítő toldatot.
Használata: {{#invoke:String|simpletitle}} vagy {{#invoke:String|simpletitle|cím}}
Paraméterek
- 1. paraméter: ha jelen van, a funkció oldalcímnek tartja és eltávolítja az esetleges egyértelműsítő toldatot. Ha nincs paraméter, a funkció az oldal címét használja (névtér nélkül).
_getParameters
[szerkesztés]Segédfüggvény. Ha keverni kívánsz nevesített és nem nevesített argumentumokat, akkor ez a függvény kell. Fontos, mert ettől függ, hogy Mediawiki a szóközök lehántolását végzi (nevesített argumentumnál), vagy sem (a nem nevesített argumentumnál).
_error
[szerkesztés]Segédfüggvény. A hibaüzeneteket kezeli.
rep
[szerkesztés]Lehetővé teszi, hogy sablonokból elérjük a Lua str.rep(string,ismétlések száma) funkciót. Segítségével a megadott számú "repetát" kapjuk az eredménystringben.
_getBoolean
[szerkesztés]Segédfüggvény. Logikai értékeket leíró string argumentumok lekezeléséhez
_escapePattern
[szerkesztés]A mintákban un. escape karakterek vannak. Ezzel a segédfüggvénnyel a mintát mint egyszerű (plain) szöveget lehet kezelni.