Modulo:Sandbox/Ignazio Cannata: differenze tra le versioni
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) |
|||
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]) |
|||
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] .. " " |
|||
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