L’oggetto ptabs¶
L’oggetto ptabs è l’oggetto base del programma pTabs. Permette la definizione dei report e la gestione di altri file. E’ anche possibile usare l’abbreviazione pt).
ptabs.new¶
Inizializza e definisce il contenuto di un report. Un report è un blocco di codice passato al metodo ptabs.new(), un helper che istanzia un nuovo oggetto PTables::Report. Assegnando l’oggetto Report a una variabile è poi possibile invocare i metodi per la generazione dei vari formati di output. In uno script possono essere definiti più report.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # crea gli output nella stessa cartella in cui risiede lo script.
# i nomi degli output vengono generati a partire dal nome dello script
report = ptabs.new do
...
end
# crea gli output nella stessa cartella in cui risiede lo script
report = ptabs.new("nome_outputs") do
...
end
# specifica una cartella di default differente
report = ptabs.new("percorso/cartella/lavoro", "nome_outputs") do
...
end
|
ptabs.csv¶
Apre un file csv e cicla sulle sue righe. Passa nel blocco due argomenti: la riga e l’indice della riga. L’indice parte da 1 e non include la riga delle intestazioni dei campi. Il separatore di campo di default è il punto e virgola (;).
1 2 3 | ptabs.csv('nome_file_csv', separatore_di_campo) do |row, index|
...
end
|
In questo esempio la funzione myrep racchiude la definizione di un report e permette la sua parametrizzazione: nell’esempio viene parametrizzato il nome del report, il sottotitolo e il codice dell’area usato per generare il nome del file di dati. ptabs.csv cicla sulle righe del file aree.csv e utilizza i dati contenuti per eseguire più volte il report.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | def (User::Ptabs).myrep(row)
repname, replabel, id_area = row.field('sigla'), row.field('label'), row.field('code').to_i
ptabs.new(repname) do
...
subtitle replabel
...
spss.open 'area_'+id_area
...
end
report.render :html
end
ptabs.csv('aree') do |row, index|
ptabs.my_report row
end
|
Il contenuto del file aree.csv:
sigla;label;code
NO;Nord Ovest;1
NE;Nord Est;2
C;Centro;3
SI;Sud e Isole;4
ptabs.inc¶
Include un file di istruzioni nello script che si sta eseguendo. Questo comando va utilizzato all’esterno della definizione del report. Il file deve contenere un blocco di codice sintatticamente corretto. L’estensione predefinita è .pt. Si vedano anche le istruzioni %include e inc.
Variabili¶
Una variabile definita all’interno del blocco del report non sarebbe visibile all’esterno del blocco. Per impostare variabili a livello dell’oggetto ptabs usare i metodi .varname(value) e .varname() dell’oggetto ptabs.
1 2 3 4 5 6 7 8 9 | report = ptabs.new do
...
ptabs.pdf = true if ...
...
end
report.render :pdf if ptabs.pdf
|