Ugrás a tartalomhoz

Modul:String/doc

A Wikiforrásból

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.

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 .

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!!!

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:

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!

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.

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.