Naar inhoud springen

Help:Modules

Uit Wikibooks
Module
In naamruimte "Module".
Naam: [[Module:<Naam>]]
Pagina-inhoudsmodel wordt automatisch ingesteld op "Scribunto-module".
Inhoud
De volgende twee regels zijn vrijwel standaard, de "p" lijkt verplicht:
 local p={}
   -- (functies, properties, etc.)
 return p
De eerste creëert een object waar members (functies, properties) aan toegevoegd kunnen worden. De laatste regel sluit de objectdefinitie, en geeft de returnwaarde terug aan de aanroepende functie.
Inspringen is belangrijk voor de leesbaarheid van de code, maar heeft geen invloed op de werking.
 -- variabelen 
 --  ...

 local p={}
  
 function p.test()
  return
 end

 return p
Documentatie
Naam: [[Module:<Naam>/doc]]
Categorieën
Door de volgende code in [[Module:<Naam>/doc]] te plaatsen worden zowel de module als de documentatie in de juiste categorie opgenomen:
<noinclude>[[Categorie:Moduledocumentatie]]</noinclude>
<includeonly>[[Categorie:Module]]</includeonly>
NB Het kan voorkomen dat een module niet meteen in Categorie:Module verschijnt; pas in zo'n geval een null-edit toe op de module.
Modules zonder documentatie komen – via MediaWiki:Scribunto-doc-page-does-not-exist – automatisch in Categorie:Module en Categorie:Module zonder documentatie.
Gebruik
{{#invoke|<Naam>|<functie>|<parameter 1>}}
De returnwaarde
komt op het scherm of wordt doorgegeven aan de aanroepende (module- danwel wiki-) functie, net zoals sjablonen dat doen;
mag rechte haken bevatten om een wikilink te vormen, maar het insluiten van een sjabloon is langs deze weg niet mogelijk!
Testen
In de Modulezandbak.
Valkuilen
  • één datatype, kan alles bevatten
  • geen constanten beschikbaar
  • declareren variabelen onmogelijk
  • niet-bestaande variabelen geven "nil"
  • array heet hier table
  • functies kunnen meer dan één returnwaarde geven
  • er mag meer dan een functie met dezelfde naam bestaan; de laatste wordt uitgevoerd
  • And and AND are two different identifiers
  • "functions are values"
  • onbegrijpelijke foutmeldingen
  • 3 verschillende (en lastige!) comment-codes:
-- this is a comment

--[[ 
this is a multi-line comment.
]]

--[[ dit ook --]]

---[[ dit niet!! --]]

Werk in uitvoering.
Deze pagina bevindt zich nog in de opbouwfase. De auteur ervan heeft zich voor­genomen de genoemde onder­werpen verder uit te werken. Ook uw bijdragen zijn welkom!
Informatie afkomstig van Wikibooks NL, een onderdeel van de Wikimedia Foundation.