Lua Tutorial 03 01: Unterschied zwischen den Versionen
Stewie (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Um die Tabellen inhalte sinnvoll zu nutzen müssen wir das Modul modifizieren: <pre> local p = {} --local p = {} -- p steht für Paket (engl. package) funct…“) |
Stewie (Diskussion | Beiträge) |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Um die Tabellen inhalte sinnvoll zu nutzen müssen wir das Modul modifizieren: | 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". | ||
<pre> | <pre> | ||
Zeile 9: | Zeile 14: | ||
local ReturnString = "" | local ReturnString = "" | ||
--liste aller Publikationen, Autoren sind ein attribut der liste | --liste aller Publikationen, Autoren sind ein attribut der liste | ||
− | local queryResult = mw.smw.ask('[[Hauptkategorie::Publikation]][[Kanon::offiziell]]|?Autoren#-=2 | + | local queryResult = mw.smw.ask('[[Hauptkategorie::Publikation]][[Kanon::offiziell]]|?Autoren#-=2|limit=10') |
local i = 1 | local i = 1 | ||
while i <= table.getn(queryResult) | while i <= table.getn(queryResult) | ||
do | do | ||
− | + | ReturnString = ReturnString .. "Publikationstitel:" .. queryResult[i][1] .."<br>" | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
i = i + 1 | i = i + 1 | ||
end | end | ||
Zeile 30: | Zeile 24: | ||
return ReturnString | return ReturnString | ||
end | end | ||
− | |||
− | |||
return p | return p | ||
− | |||
</pre> | </pre> | ||
{{#invoke:Tutorial 03 01|getOfficalAuthors}} | {{#invoke:Tutorial 03 01|getOfficalAuthors}} |
Aktuelle Version vom 10. Mai 2024, 16:24 Uhr
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