Lua Tutorial 03 01

Version vom 10. Mai 2024, 16:24 Uhr von Stewie (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Um die Tabellen inhalte sinnvoll zu nutzen müssen wir das Modul modifizieren:

Zum auslesen und bearbeiten der Publikationen bauen wir eine Schleife (while) die für jedes element in der Rückgabe Tabelle etwas macht, die länge der Tabelle erfahren wir über table.getn(queryResult). alles zwischen "do" und "end" wird so lange durchgeführt, bis die abbruch bedinung erreicht ist - also wenn die variable i größer oder gleich der länge der Tabelle ist. Damit das passiert erhöhen wir "i" bei jeden durchlauf um 1 (i = i+1)

Unseren Rückgabe string erweitern wir jeweils um den Publikationstitel (queryResult[i][1]), sowie einige formatierungselemente. Strings werden mittels .. "addiert".


local p = {} --local p = {} -- p steht für Paket (engl. package)

function p.getOfficalAuthors( frame )
	-- rückgabe variable
	local ReturnString = ""
	--liste aller Publikationen, Autoren sind ein attribut der liste
	local queryResult =  mw.smw.ask('[[Hauptkategorie::Publikation]][[Kanon::offiziell]]|?Autoren#-=2|limit=10')
	local i = 1
	while i <= table.getn(queryResult) 
	do
		ReturnString = ReturnString .. "Publikationstitel:" .. queryResult[i][1] .."<br>"
		i = i + 1
	end

    return ReturnString
end
return p

Publikationstitel:Alles zum Schein
Publikationstitel:Siehe bei den enthaltenen Publikationen
Publikationstitel:An den Küsten der Kristallsee
Publikationstitel:Arkuri und Süd-Arkuri (Publikation)
Publikationstitel:Arwinger Mark (Publikation)
Publikationstitel:Auf Abwegen
Publikationstitel:Auf den Spuren der Schildkröte
Publikationstitel:Azemi der Tugendhafte - ein Antagonist für Splittermond
Publikationstitel:Badashan (Publikation)
Publikationstitel:Banden & Orden