Modulo:HelloWorld

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search

Esempio minimo di realizzazione di un modulo Lua


-- Tutti i moduli Lua su Wikipedia devono iniziare definendo una variabile di tipo tabella che contenga
-- le funzioni accessibili dall'esterno. Può avere qualunque nome e contenere anche altri dati
local p = {};
 
-- 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 p.hello( 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
    -- 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 )
    -- 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
return p

-- Questo modulo può ora essere usato chiamando {{#invoke: HelloWorld | hello }}.
-- Il comando #invoke inizia con il nome del modulo, in questo caso "HelloWorld",
-- quindi il nome di una delle sue funzioni come argomento, in questo caso "hello".