Modulo:Sandbox/Ignazio Cannata

Versione del 26 ott 2020 alle 10:30 di Ignazio Cannata (discussione | contributi) (Annullata la modifica 116259474 di Ignazio Cannata (discussione))

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, ' .. (frame.args[1] or sv) .. '! ' .. (frame.args[2] or sv) .. '?'
end

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

function p.ciao_nominale2(frame)
        return 'Ciao, ' .. (frame.args.nome or sv) .. '! ' .. (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 = ' 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, ' .. ((args[1] or args["nome"]) or sv) .. '!' .. debuglog
        elseif (args[1] or args["nome"]) and (args[2] or args["domanda"]) and (args[2] or args["domanda"]) == sv then
        return 'Ciao, ' .. ((args[1] or args["nome"]) or sv) .. '!'
        elseif (args[1] or args["nome"]) and not (args[2] or args["domanda"]) then
        return 'Ciao, ' .. ((args[1] or args["nome"]) or sv) .. '!'
        end
end

return p