Mòdul:Exemple
Aparença
Documentació del mòdul [ mostra ] [ modifica el codi ] [ mostra l'historial ] [ refresca ]
A continuació es mostra la documentació transclosa de la subpàgina /ús. [salta a la caixa de codi]
Aquesta és una documentació d'exemple per al mòdul, que s'utilitza per a demostracions i similars.
Vegeu també
[modifica]local p = {}; --Tots els mòduls lua de la Viquipèdia han de començar definint una variable
--que mantindrà les funcions del mòdul accessibles externament.
--Aquestes variables poden tenir el nom que vulgueu i que es pugui
--també contenen diverses dades i funcions.
p.hello = function( frame ) -- Afegeix una funció a "p".
--Aquestes funcions es poden cridar a la Viquipèdia
--via ordre #invoke.
--"frame" contindrà les dades que la Viquipèdia
--envia a aquesta funció quan s'executa.
-- "hello" és un nom que trieu. Cal fer referència al mateix nom quan s'utilitza el mòdul.
local str = "Hola Món!" --Declara una variable local i estableix que és igual a
--"Hola Món!".
return str -- Això ens indica que deixem aquesta funció i que enviem la informació
-- "str" a la Viquipèdia.
end -- final de la funció "hello"
function p.hello_to(frame) -- Afegeix una altra funció
local name = frame.args[1] -- Per accedir a arguments passats a un mòdul, utilitza `frame.args`
-- `frame.args[1]` fa referència al primer paràmetre sense nom
-- donat al mòdul
return "Hola, " .. name .. "!" -- `..` concatena cadenes. Retornarà un missatge personalitzat
-- salutació en funció del nom que es doni, com ara "Hola, Fred!"
end
function p.count_fruit(frame)
local num_bananas = frame.args.bananas -- Per accedir als arguments amb nom, com ({{#invoke:Example|count_fruit|bananas=10}}),
local num_apples = frame.args.apples -- es pot fer de dues formes mitjançant `frame.args["bananas"]`, o
-- equivalentment `frame.args.bananas`.
return 'Jo tinc ' .. num_bananas .. ' plàtans i ' .. num_apples .. ' pomes'
-- Com abans, s'encadenen juntes un seguit de cadenes individuals per produir
-- una frase basada en els arguments donats.
end
local function lucky(a, b) -- Es poden definir funcions locals a utilitzar només dins d'aquest mòdul (en aquest cas en la següent funció).
--Aquí es defineix una funció "lucky" que té dues entrades a i b.
--Els noms són de la vostra elecció.
if b == 'yeah' then -- Condició: si b és la cadena 'yeah'. Les cadenes requereixen cometes. No oblideu incloure 'then'.
return a .. ' és el meu número de la fortuna.' -- Retorna 'a és el meu número de la fortuna.' si es compleix la condició anterior.
--Recorda: L'operador de concatenació de cadenes es defineix pels 2 punts.
else -- Si no es compleix la condició, és a dir, si b és una altra cosa, la sortida s'especifica a la línia següent.
-- 'else' no ha de tenir 'then'.
return a -- Simplement retorna a.
end -- L'estructura de control 'if' ha d'acabar amb un 'end'.
end -- D'aquesta 'function'.
function p.Name2(frame)
local pf = frame:getParent().args -- Aquesta línia permet utilitzar fàcilment paràmetres d'una plantilla que utilitzi aquesta funció.
--El signe igual s’utilitza per definir variables. 'pf' es pot substituir per una paraula que trieu.
local f = frame.args -- Aquesta línia permet utilitzar fàcilment paràmetres d'una crida {{#invoke:}}.
--'f' es pot substituir per una paraula que trieu.
local M = f[1] or pf[1] -- f[1] i pf[1], que s'acaben de definir, fan referència al primer paràmetre.
--Aquesta línia els escurça com a "M" per comoditat. Podeu utilitzar els noms de variables originals.
local m = f[2] or pf[2] -- El segon paràmetre com a 'm'.
local l = f.lucky or pf.lucky -- Un paràmetre anomenat "lucky" és una abreviat com a l. Tingueu en compte que la sintaxi és diferent dels paràmetres sense nom.
if m == nil then -- Si no s'utilitza el segon paràmetre.
return 'Solitari' -- Retorna la cadena 'Solitari' suposant que s'ha assignat el primer paràmetre.
elseif M > m then -- Si no es compleix la primera condició, aquesta línia prova una segona condició: si M és superior a m.
return lucky(M - m, l) --Si es compleix la condició, la diferència es calcula i es passa a la funció local juntament amb l.
--La sortida depèn de si l té assignat "yeah".
else
return 'Sigues positiu!'
end
end
return p --Tots els mòduls acaben retornant la variable que conté les seves funcions a Viquipèdia.
-- Ara podeu utilitzar aquest mòdul, segons us sembli, amb {{#invoke:Exemple|hello}},
-- {{#invoke:Exemple|hola_to|foo}}, o {{#invoke:Exemple|count_fruit|bananas=5|apples=6}}
-- Tingueu en compte que la primera part de la crida és el nom del mòdul,
-- i la segona part és el nom d'una de les funcions associades al mòdul,
-- seguides, segons el cas, per cap o per una o vàries variables.
-- La funció "imprimir" no està permesa a la Viquipèdia. Qualsevol sortida és "retornada"
-- com a quelcom que es mostra en una pàgina, com a cadena.