Wikipedia:Módulos

Na Galipedia, a Wikipedia en galego.
(Redirección desde «Wikipedia:Lua»)
Espazos de nomes da Wikipedia
Espazos de nomes básicos Espazos de nomes conversa
0 Principal (ou Artigo) Conversa 1
2 Usuario Conversa usuario 3
4 Wikipedia Conversa Wikipedia 5
6 Ficheiro Conversa ficheiro 7
8 MediaWiki Conversa MediaWiki 9
10 Modelo Conversa modelo 11
12 Axuda Conversa axuda 13
14 Categoría Conversa categoría 15
100 Portal Conversa portal 101
102 Libro Conversa libro 103
828 Módulo Conversa módulo 829
2300 [[Wikipedia:Trebellos|]] 2301
2302 [[Wikipedia:Trebellos|]] 2303
2600
Espazos de nomes virtuais
-1 Especial
-2 Media

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 a fonte]

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 a fonte]

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 Wikipedia[editar a fonte]

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 a fonte]

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 a fonte]

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 a fonte]

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 a fonte]

Outros artigos[editar a fonte]