Wiki How:Módulos

Espazos de nomes da Wikipedia
Espazos de nomes básicosEspazos de nomes conversa
0Principal (ou Artigo)Conversa1
2UsuarioConversa usuario3
4Wiki HowConversa Wikipedia5
6FicheiroConversa ficheiro7
8MediaWikiConversa MediaWiki9
10ModeloConversa modelo11
12AxudaConversa axuda13
14CategoríaConversa categoría15
100PortalConversa portal101
102LibroConversa libro103
828MóduloConversa módulo829
2300[[Wikipedia:Trebellos|]]2301
2302[[Wikipedia:Trebellos|]]2303
2600
Espazos de nomes virtuais
-1Especial
-2Media

O espazo de nomes Módulo contén o código fonte das páxinas que utilizan a linguaxe de programación Lua, que pode empregarse na Galipedia a través da Extensión Mediawiki Scribunto. O código Lua pode usarse en modelos wiki empregando a funcionalidade "{{#invoke:}}" desta extensión Scribunto.

Executar un módulo editar

Os módulos executanse noutras páxinas da Wikipedia usando a función #invoke. A sintaxe de #invoke é semellante á sintaxe dos modelos, pero con algunhas diferenzas. A máis inportante destas diferenzas é que se necesita especificar o nome da función. Unha función é un conxunto de instrucións que toma unha serie de valores de entrada, procésaos, e devolve un valor de saída.

Non se pode executar un módulo Lua directamente, só se pode empregar unha das funcións do módulo. O módulo é so un contedor para as funcións, e non fai nada por si mesmo.

A forma máis sinxela de usar un módulo dende outra páxina da wiki é:

{{#invoke:nome do módulo|nome da función}}

Empregando argumentos editar

Os argumentos pásanse aos módulos da mesma forma que se fai para os modelos. Porén, nas chamadas módulos o primeiro valor que segue á primeira barra vertical (|) sempre é o nome da función que se está a chamar. O primeiro argumento posicional sempre se coloca tras a segunda barra vertical.

{{#invoke:nome do módulo|nome da función|primeiro argumento|segundo argumento|argumento con nome = valor}}

Os módulos deben ter unha páxina de documentación que explique que argumentos se poden empregar e os efectos que terá cada un deles.

Características específicas na Wiki How editar

Lua só pode recibir entradas de valores en forma de cadeas de texto nas chamadas {{#invoke:}} e nos valores retornados por mw.title.new(...):getContent() e frame:expandTemplate(). As saídas devoltas por Lua non serán pre-procesadas agás que se faga unha chamada explícita á frame:preprocess().

Limitacións nas entradas editar

O código Lua en Scribunto só se executa cando a páxina é recalculada. Polo tanto, a única forma de entrada de valores que pode recibir é mediante a edición de páxina, non é interactiva.

As entradas que pode recibir Lua son polo tanto calquera das páxinas da Wikipedia que se poden transcluír noutras. Isto non inclúe páxinas de ficheiros, a lista das páxinas incluídas nunha categoría, ou o contido das páxinas especiais.

Texto wiki editar

As ligazóns wiki do tipo [[Wikipedia:Axuda|]] non funcionarán se se indican coma unha saída do módulo. Deben escribirse de forma explícita coma [[Wikipedia:Axuda|Axuda]]. Outras transformacións, coma substituír ~~~~ cunha sinatura, non serán procesadas correctamente.

Etiquetar os modelos editar

Por favor, inserta o código {{ModeloLua|Módulo:Nome1|Módulo:Nome2|...}} na sub-páxina de documentación dos modelos que usan módulos Lua.

Véxase tamén editar

Outros artigos editar