Zum Inhalt springen

Wikipedia:Lua/Modul/SimpleStruct

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. Dezember 2021 um 01:27 Uhr durch Vollbracht (Diskussion | Beiträge) ({{LuaModuleDoc}}). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

Modul zur Generierung von Tabellen und Strukturen aus einfachen Zeichenketten

Dieses Modul dient der Übergabe von ganzen Tabellen und Strukturen als Parameter aus einer Vorlage an ein Lua-Modul. Dazu wird

local _, Parser = pcall(require, "Modul:SimpleStruct") 

im Modul eingebunden. Der Parser kann dann mit

assert(type(Parser) == 'table', "Modul:SimpleStruct nicht gefunden!")
local meineTabelle = Parser.parse(<Zeichenkette>)

aufgerufen werden. Eine Zeichenkette kann beispielsweise so aussehen:

local meineZeichenkette='Brot {Menge {2 Laibe} Sorte {Chiabata}} Käse {Menge {1 lb} Sorte {Gouda}}'

Sie darf jedoch auch Zeilenumbrüche enthalten. Nach der Verarbeitung sollte das Ergebnis einer Daklaration wie folgt entsprechen:

local meineTabelle = {Brot={Menge='2 Laibe', Sorte='Chiabata'}, Käse={Menge='1 lb', Sorte='Gouda'}}

Folgende Zeichenketten sollen dabei äquivalent sein:

zu vermeiden äquivalent zu
Strukturtext {Strukturtext} Werte ohne Klammern Strukturtext {Strukturtext}
{Strukturtext {Strukturtext} Werte ohne Klammern} {Strukturtext {Strukturtext}}

Möge es hilfreich sein!

Allgemeine Hinweise zur Einbindung von Modulen

Eine Einbindung erfolgt jeweils im Format

{{#invoke: SimpleStruct | Funktionsname | Wert1 | Wert2 | NameX=Wert … }}

Die Parameter können wie bei Vorlagen benannt oder unbenannt sein; deren Regeln gelten analog.

Wenn unbekannte Zeichenketten von außen kommen (als Vorlagenparameter), sollte immer mit der Form 1=Wert gearbeitet werden.

Zu allgemeinen Problemen beachte die Abhilfen wie bei Vorlagen.

Wenn in einer Vorlage ein Modul verwendet wird, sollte auch immer die Vorlage:Dokumentation/Lua in der Dokumentationsseite eingebunden werden.

  1. Das gibt einem Programmierer Aufschluss, dass ein Lua-Modul benutzt wird, welche/s und ggf. welche Einzelfunktion daraus, und verlinkt auf die Dokumentation.
  2. Die Modul-Dokumentationen bekommen ein Link, in welchen Vorlagen sie eingesetzt werden, und wo bei eventuellen Funktionsänderungen Anpassungen erforderlich werden.
  3. Die Vorlage wird zur Übersicht kategorisiert in Kategorie:Vorlage:mit Lua-Programmierung.

Zu weiteren Informationen siehe Hilfe:Lua.

Bei Problemen wende dich bitte an die Vorlagen-Werkstatt, in schweren Fällen hilft auch die Lua-Werkstatt. Dieses Modul ist nicht für eine Verwendung in Vorlagen geeignet, da seine Ausgabe ausschließlich in Lua-Strukturen besteht und keine Aufrufmethoden für Vorlagen zur Verfügung stehen. Das wird sich auch nicht ändern.