Modulo:Sandbox/Brunokito/ModuloBruno: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1:
-- Tutti i moduli Lua su Wikipedia devono iniziare definendo una variabile di tipo tabella che contenga
local str = {}
-- le funzioni accessibili dall'esterno. Può avere qualunque nome e contenere anche altri dati
local strp = {};
-- Viene aggiunta una funzione alla variabile. Questa è richiamabile da Wikipedia mediante il
-- comando #invoke.
-- L'argomento "frame" conterrà i dati che Wikipedia invia a questa funzione quando viene
-- chiamata.
function strp.lenhello( frame )
-- L'istruzione successiva termina la funzione e ritorna la stringa "Hello, World!" a Wikipedia
-- che verrà visualizzata al posto del richiamo del comando #invoke
return "Hello, world!"
-- termina la funzione
end
 
function p.hello_nome1( frame )
--[[
-- Come l'esempio sopra, ma si aspetta anche due parametri posizionale che contengano un nome
len
-- e un saluto, la chiamata {{#invoke:HelloWorld|hello_nome1|Franco|come va}}
-- sarà sostituita da "Hello, Franco, come va?"
return "Hello, " .. frame.args[1] .. ", " .. frame.args[2] .. "?"
-- termina la funzione
end
 
function p.hello_nome2( frame )
Questa funzione ritorna la lunghezza di una stringa.
-- Come l'esempio sopra, ma si aspetta anche due parametri nominali che contengano un nome
-- e un saluto, la chiamata {{#invoke:HelloWorld|hello_nome2|nome=Franco|saluto=come va}}
-- sarà sostituita da "Hello, Franco, come va?"
return "Hello, " .. frame.args["nome"] .. ", " .. frame.args["saluto"] .. "?"
-- termina la funzione
end
 
-- Il modulo deve terminare restituendo la variabile che contiene le sue funzioni a Wikipedia
Uso:
return p
{{#invoke:String|len|stringa|}}
O
{{#invoke:String|len|s=stringa}}
 
-- Questo modulo può ora essere usato chiamando {{#invoke: HelloWorld | hello }}.
Parametri
-- Il comando #invoke inizia con il nome del modulo, in questo caso "HelloWorld",
s: La stringa di cui ritornare la lunghezza
-- quindi il nome di una delle sue funzioni come argomento, in questo caso "hello".
 
Se invocata usando parametri nominati, Mediawiki rimuoverà automaticamente ogni spazio iniziale
o finale dalla stringa.
]]
function str.len( frame )
local new_args = str._getParameters( frame.args, {'s'} );
local s = new_args['s'] or '';
return mw.ustring.len( s )
end