Modulo:Sandbox/Ignazio Cannata

Intestazione: Modulo:Sandbox/Ignazio Cannata/man


require('Module:No globals')
local p = {}
local debuglog = ''
local sv = '' -- sv: stringa vuota

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

function p.ciao_valore(frame)
        if frame.args[1] and frame.args[1] ~= sv then
        debuglog = ' Questo messaggio compare perché alla funzione è stato assegnato un valore (valore scelto: ' .. frame.args[1] .. ')'
        return 'Ciao, Ignazio!' .. debuglog
        end
end

function p.ciao_posizionale(frame)
        return 'Ciao, ' .. mw.getContentLanguage():ucfirst((frame.args[1] or sv)) .. '! ' .. mw.getContentLanguage():ucfirst((frame.args[2] or sv)) .. '?'
end

function p.ciao_nominale1(frame)
        return 'Ciao, ' .. mw.getContentLanguage():ucfirst((frame.args["nome"] or sv)) .. '! ' .. mw.getContentLanguage():ucfirst((frame.args["domanda"] or sv)) .. '?'
end

function p.ciao_nominale2(frame)
        return 'Ciao, ' .. mw.getContentLanguage():ucfirst((frame.args.nome or sv)) .. '! ' .. mw.getContentLanguage():ucfirst((frame.args.domanda or sv)) .. '?'
end

function p.ciao_transclusione(frame)
        local args = frame:getParent().args
        local x = mw.getContentLanguage():ucfirst(((args[1] or args["nome"]) or sv))
        if (args[1] or args["nome"]) and (args[2] or args["domanda"]) and (args[2] or args["domanda"]) ~= sv then
        debuglog = ' Questo messaggio compare perché al secondo parametro è stato assegnato un valore. Il valore scelto è il seguente: ' .. tostring((args[2] or args["domanda"])) -- prova di controllo forzato
        return 'Ciao, ' .. x .. '!' .. debuglog
        elseif (args[1] or args["nome"]) and (args[2] or args["domanda"]) and (args[2] or args["domanda"]) == sv then
        return 'Ciao, ' .. x .. '!'
        elseif (args[1] or args["nome"]) and not (args[2] or args["domanda"]) then
        return 'Ciao, ' .. x .. '!'
        end
end

return p