Utente:Alex brollo/sandbox/Modulo:Prova

Da Wikisource.
Jump to navigation Jump to search

-- funzione locale base. Riceve un frame e ne carica gli argomenti in una variabile args. Chiamata dalla funzione main -- (in questo caso, da prova. Codice chiamante: #invoke:prova|prova|primo parametro|secondo parametro|terzo parametro -- function funzione( frame )

   local risposta=""
   local args = frame.args
   -- da qui args contiene i parametri; test (restituisce il primo parametro)
   --[[risposta="Parametro 1: "..out_arg(args[1],"Il parametro 1 non esiste").."
" risposta=risposta.."Parametro 2: ".."out_arg(args[2],"Il parametro 2 non esiste").."
" risposta=risposta.."Parametro 3: ".."out_arg(args[3],"Il parametro 3 non esiste")]] risposta="Parametro 1: "..out_arg(args[1],"Il parametro 1 non esiste").."
" return risposta


end

-- funzione di servizio (generica). Riceve un parametro e il valore di default; se il parametro non esiste o è vuoto -- restituisce il valore di default; altrimenti restituisce il parametro. function out_arg( arg, default )

   if arg and arg ~=  then
       return arg
   end
   return default

end


local p = {}


-- debug function p.table_as_string( frame )

return mw.text.encode( table( frame ) ) .. '

' .. table( frame )

end

-- funzione main. Riceve il nome della funzione passata dal template e chiama una funzione locale, passandole -- il frame chiamante (i parametri del template); restituisce il risultato. function p.diretta( frame )

     -- return "chiamata diretta".."
"..funzione(frame) local dati = mw.loadData( 'Modulo:Dati' ) return dati[1]

end

function p.indiretta( frame)

     return "chiamata indiretta".."
"..funzione(frame:getParent())

end

return p