Benutzer:Stewie/ArrayList
ArrayFunctions – Beispiel und Erklärung
Diese Seite demonstriert die wichtigsten Parserfunktionen der Extension ArrayFunctions in MediaWiki. Jede Funktion wird kurz erklärt, mit einem Beispiel und dem erwarteten Ergebnis. (WIP)
1. #af_list
– Erstellt eine Liste
Beschreibung: Erstellt ein einfaches Array (Liste) aus mehreren Werten.
Beispiel:
{{#af_list: Apfel | Banane | Kirsche }}
Erwartetes Ergebniss:
["Apfel","Banane","Kirsche"]
2. #af_print
– Gibt den Inhalt eines Arrays aus
Beschreibung: Gibt den Inhalt eines Arrays zur Debug-Zwecken lesbar aus.
Beispiel:
{{#af_print: {{#af_list: Apfel | Banane | Kirsche }} }}
Ergebnis:
- 0: Apfel
- 1: Banane
- 2: Kirsche
3. #af_get
– Holt einen bestimmten Wert aus einem Array oder Objekt
Beschreibung: Gibt einen bestimmten Eintrag aus einer Liste (per numerischem Index) oder aus einem Objekt (per Schlüssel) zurück. 1 Element wäre dabei 0
Beispiel (Index aus einer Liste)
Wikitext:
{{#af_get: {{#af_list: a | b | c }} | 1 }}
Ergebnis: b
4. #af_foreach
– Iteriert über ein Array
Beschreibung: Erlaubt über jedes element zu gehen und damit etwas zu machen
Beispiel:
{{#af_foreach: {{#af_list: John | Steve | Harry }} | | name | Hello, {{{name}}}!<br/> }}
Ergebnis:
Hello, John!
Hello, Steve!
Hello, Harry!
5. #af_map
– Transformiert jedes Element
Beschreibung: Wendet eine Vorlage auf jedes Element des Arrays an und gibt ein neues Array zurück.
Beispiel:
{{#af_print: {{#af_map: array={{#af_list: Apfel | Banane | Kirsche}} | template=Kleinschreiben }} }}
Benötigte Vorlage: Kleinschreiben
{{lc:{{{1}}}}}
Ergebnis:
["apfel","banane","kirsche"]
6. #af_object
– Erstellt ein Objekt
Beschreibung: Erstellt ein JSON-ähnliches Objekt mit Schlüssel-Wert-Paaren.
Beispiel:
{{#af_object: name=Max | beruf=Gärtner | alter=34 }}
Ergebnis:
{"name":"Max","beruf":"Gärtner","alter":"34"}
7. #af_template
– Übergibt Daten an eine Vorlage
Beschreibung: Führt eine Vorlage mit Werten aus einem Array oder Objekt aus.
Beispiel:
{{#af_template: template=Person | array={{#af_object: name=Anna | beruf=Ärztin }} }}
Benötigte Vorlage: Person
'''Name''': {{{name}}} '''Beruf''': {{{beruf}}}
Ergebnis: Name: Anna Beruf: Ärztin
8. #af_pipeline
– Verkettet mehrere Operationen
Beschreibung: Führt mehrere Array-Operationen der Reihe nach aus.
Beispiel:
{{#af_pipeline: {{#af_list: Apfel | Banane | Kirsche }} | #af_map: template=Kleinschreiben | #af_template: template=Eintrag }}
Benötigte Vorlagen:
Kleinschreiben
→ siehe oben
Eintrag
→ siehe oben
Ergebnis:
- apfel
- banane
- kirsche
Fazit
Mit der ArrayFunctions-Erweiterung kannst du Listen und Objekte in MediaWiki auf dynamische Weise manipulieren und anzeigen – besonders nützlich in Kombination mit Vorlagen oder Datenquellen wie Lua oder Semantic MediaWiki.