Modulo:Sandbox/Ignazio Cannata

Intestazione: Modulo:Sandbox/Ignazio Cannata/man


require('strict')
local p = {}
local debuglog = ''
local sv = '' -- sv: stringa vuota

function p.ciao(frame) -- senza argomenti
    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
    if (args[1] or args["nome"]) and (args[2] or args["domanda"]) and (args[2] or args["domanda"]) ~= sv then
    debuglog = ' La domanda 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, ' .. mw.getContentLanguage():ucfirst(((args[1] or args["nome"]) or sv)) .. '! ' .. mw.getContentLanguage():ucfirst((args[2] or args["domanda"])) .. '?' .. debuglog
    else return 'Ciao, ' .. mw.getContentLanguage():ucfirst(((args[1] or args["nome"]) or sv)) .. '! ' .. ((args[2] or args["domanda"]) or sv) .. '?'
    end
end

return p