Modulo:Sandbox/Ignazio Cannata: differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Contenuto cancellato Contenuto aggiunto
modifica due
modifica tre
Riga 11: Riga 11:


function p.ciao_nome1parent( frame )
function p.ciao_nome1parent( frame )
local debuglog = ''
local debuglog -- qui non è necessario definire la variabile come una stringa vuota, perché non la useremo mai così com'è
local args = frame:getParent().args
local args = frame:getParent().args
-- args[1] potrebbe non essere compilato (nil)
-- Lua è estremamente versatile e può ridefinire le sue variabili di volta in volta
-- indichiamo al modulo di rifarsi a una stringa vuota se args[1] non esiste
local output -- creiamo la variabile locale output non definita (nil)
output = args[1] or '' -- output è ora args[1] o, se non lo trova, una stringa vuota
local outpot = " Ciao, " .. (args[1] or '') .. "! Questo messaggio compare perché args2 è compilato: "
output = " Ciao, " .. output .. "! Questo messaggio compare perché args2 è compilato: " -- concateno il nuovo messaggio al valore che output ha avuto finora
if args[1] and args[2] then
if args[1] and args[2] then
debuglog = " args[2] = " .. tostring(args[2]) -- imposto ora debuglog
debuglog = " args[2] = " .. tostring(args[2])
output = output .. debuglog -- output è ora il messaggio impostato finora + debuglog
return outpot .. debuglog -- Cos'è args2?
return output -- mi basta ritornare output che ora contiene tutto e non c'è possibilità di errori
elseif args[1] and not args[2] then
elseif args[1] and not args[2] then
return " Ciao, " .. args[1] .. " "
return " Ciao, " .. args[1] .. " "
end
end
end
end

Versione delle 13:29, 7 dic 2017

Intestazione: Modulo:Sandbox/Ignazio Cannata/man


require('Module:No globals')
local p = {}

function p.ciao( frame )
    return " Ciao, Ignazio! "
end

function p.ciao_nome1( frame )
    return " Ciao, " .. frame.args[1] .. "! " .. frame.args[2] .. "? "
end

function p.ciao_nome1parent( frame )
    local debuglog = ''
    local args = frame:getParent().args
    -- args[1] potrebbe non essere compilato (nil)
    -- indichiamo al modulo di rifarsi a una stringa vuota se args[1] non esiste
    local outpot = " Ciao, " ..  (args[1] or '') .. "! Questo messaggio compare perché args2 è compilato: "
    if args[1] and args[2] then
    debuglog = " args[2] = " .. tostring(args[2])
    return outpot .. debuglog -- Cos'è args2?
    elseif args[1] and not args[2] then
    return " Ciao, " .. args[1] .. " "
    end
end

function p.ciao_nome2( frame )
    return " Ciao, " .. frame.args["nome"] .. "! " .. frame.args["saluto"] .. "? "
end

function p.ciao_nome2b( frame )
    return " Ciao, " .. frame.args.nome .. "! " .. frame.args.saluto .. "? "
end

return p