Lua

Aus Splitterwiki
Zur Navigation springen Zur Suche springen
 
Zeile 2: Zeile 2:
 
{{Benutzer:Stewie/Navigation Wiki}}
 
{{Benutzer:Stewie/Navigation Wiki}}
  
Lua Module funktionieren nahezu wie Vorlagen, sind bei komplexen anliegen aber schneller und lesbarer als Wikicode.
 
 
Wichtige Ressourcen:
 
 
'''Einsatz:'''
 
Scribunto-Lua-Skripte werden in dem Namensraum Module abgelegt. Module laufen auf Wiki-Seiten unter Verwendung der #invoke Parser-Funktionen. Jedes Modul hat eine Sammlung an Funktionen, die mittels Wiki-Syntax aufgerufen werden können, wie:
 
 
<pre>
 
{{#invoke: Module_name | function_name | arg1 | arg2 | arg3 ... }}
 
</pre>
 
 
Einfaches Beispiel, das Modul "LuaTest" mit der Funktion "hello", es erzeugt als ausgabe (return) "Hello, world!"
 
 
<pre>
 
local p = {}
 
 
function p.hello( frame )
 
    return "Hello, world!"
 
end
 
 
return p
 
</pre>
 
 
Einbindung in eine Wikiseite
 
<pre>
 
{{#invoke:LuaTest|hello}}
 
</pre>
 
 
'''Ergebnis:'''
 
{{#invoke:LuaTest|hello}}
 
 
'''Beispiel mit Argumenten:'''
 
 
Lua Funktionen können beliebige Parameter übergeben bekommen, hier frame.args[1]
 
 
Angepasstes Lua Modul
 
<pre>
 
 
local p = {} --local p = {} -- p steht für Paket (engl. package)
 
 
function p.hello( frame )
 
    return frame.args[1]
 
end
 
 
return p
 
 
</pre>
 
 
<pre>
 
{{#invoke:LuaTest_Argumente|hello|Ein Toller Text}}
 
</pre>
 
'''Ergebnis:'''
 
{{#invoke:LuaTest_Argumente|hello|Ein Toller Text}}
 
 
'''Beispiel Semantische Angaben verarbeiten:'''
 
Semantische Abfragen können innerhalb von Lua Scripten Erfolgen, die abfragen können dann entsprechend weiterverarbeitet werden.
 
Die Rückgabe der Abfrage erfolgt dabei als "Array", die weiterverarbeitung ist etwas gewöhnungsbedürftig
 
 
Beispielweise sollen alle offiziellen Publikationen abgefragt werden, uns interessieren dabei die Autor:innen
 
<pre>
 
local queryResult =  mw.smw.ask('[[Hauptkategorie::Publikation]][[Kanon::offiziell]]|?Autoren#-=2|mainlabel=-|limit=500')
 
</pre>
 
  
  

Aktuelle Version vom 10. Mai 2024, 15:56 Uhr

Stewie (Nutzer) Wiki

Fehlersammlung  •   Bot  •   Ablage  •   Lua  •   Fehlende Artikel


Liste von Modulen

Ausbildung Stewie/Lua:
Ressourcen:
Stärken:
Fertigkeiten:
Meisterschaften:

Personen mit Ausbildung als Stewie/Lua

Dakardsmyr (Publikation): Seite: 20-29,6 (Geschichte),
Selenia (Publikation):Fehler: keine Seitenzahl zu finden
Splittermond: Die Welt: Seite: 48-50