Benutzer:Stewie/ArrayList: Unterschied zwischen den Versionen

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
Zeile 26: Zeile 26:
----
----


== 3. <code>#af_show</code> – Zeigt einen bestimmten Wert an ==
== 3. <code>#af_get</code> – Holt einen bestimmten Wert aus einem Array oder Objekt ==


'''Beschreibung:''' Gibt einen bestimmten Eintrag aus einem Array zurück – entweder über einen numerischen Index (bei Listen) oder über einen Schlüssel (bei Objekten).
'''Beschreibung:''' Gibt einen bestimmten Eintrag aus einer Liste (per numerischem Index) oder aus einem Objekt (per Schlüssel) zurück.


=== Beispiel (Index aus einer Liste) ===
=== Beispiel (Index aus einer Liste) ===
Zeile 34: Zeile 34:
'''Wikitext:'''
'''Wikitext:'''
<pre>
<pre>
{{#af_show:
{{#af_get: {{#af_list: a | b | c }} | 1 }}
  array={{#af_list: Apfel | Banane | Kirsche}} |
  index=1
}}
</pre>
</pre>


'''Ergebnis:'''
'''Ergebnis:'''
{{#af_show:
{{#af_get: {{#af_list: a | b | c }} | 1 }}
  array={{#af_list: Apfel | Banane | Kirsche}} |
  index=1
}}
 
=== Beispiel (Schlüssel aus einem Objekt) ===
 
'''Wikitext:'''
<pre>
{{#af_show:
  array={{#af_object: name=Max | beruf=Gärtner}} |
  key=beruf
}}
</pre>
 
'''Ergebnis:'''
{{#af_show:
  array={{#af_object: name=Max | beruf=Gärtner}} |
  key=beruf
}}
 
----


== 4. <code>#af_foreach</code> – Iteriert über ein Array ==
== 4. <code>#af_foreach</code> – Iteriert über ein Array ==

Version vom 19. Mai 2025, 18:54 Uhr

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.

Beispiel (Index aus einer Liste)

Wikitext:

{{#af_get: {{#af_list: a | b | c }} | 1 }}

Ergebnis: b

4. #af_foreach – Iteriert über ein Array

Beschreibung: Führt eine Vorlage für jedes Element eines Arrays aus.

Beispiel:

{{#af_foreach:
  array={{#af_list: Apfel | Banane | Kirsche}} |
  template=Eintrag
}}

Benötigte Vorlage: Eintrag

* {{ {1} }}

Ergebnis:

  • Apfel
  • Banane
  • Kirsche

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.