Tavole utente¶
user_table genera una tavola a partire da un array bidimensionale contenete le righe che compongono la tabella. L’output può essere indirizzato sia nella finestra di logo, sia nei file di output.
Argomenti:
- title: il titolo della tavola
- matrix: l’array bidimensionale con la matrice della tabella
- options: un hasc con le opzioni:
- :title => string: il titolo della tavola
- :subtitle => string: il sottitolo della tavola
- :head => 1|2: il numero di righe di intestazione (default: 0)
- :col2stat => true|false: definisce la seconda colonna come colonna delle statistiche (default: false)
- :corner => true|false: definisce la prima cella come corner (default: true)
- :totals => n|true|false: il numero di righe di totali: true = 1 (default: false)
- :footer => string|[strimg, string]: la riga o le righe di note della tabella
L’istruzione ritorna un oggetto a cui possono essere applicati i seguenti metodi:
- .title(string): il titolo della tavola
- .header(array): la prima riga di inntestazione
- .header2(array): la seconda riga di inntestazione
- .corner(string|array): il corner
- .footer(string|array): il footer
- .totals([array]): la/le riga/righe di totale
- .align(array): un array con gli allineamenti(:left, :right, :center) delle colonne per la tabella della finestra di log. L’ultima indicazione viene riciclata per le restanti colonne
- .render(:log|:out|:both): genera la tavola verso la finestra di log (:log), i file di output (:out), entrambi (:both, il default)
Nella matrice dei dati, un vettore vuoto o pieno solo di valori nil, indica una linea di separazione.
Nella prima riga di intestazione, le celle a nil indicano lo spanning delle colonne.
1 2 3 4 5 6 7 8 9 10 | m = [
[nil, "TOTALE", "Area geografica", nil, nil, nil],
[nil, nil, "Nord Ovest", "Nord Est", "Centro", "Sud"],
["Sì", 46, 15, 9, 14, 8],
["No", 86, 24, 10, 16, 36],
[],
["(n.a.)", 4, 1, 1, 0, 2],
]
table = user_table "Test tabella", m, :head => 2
table.render
|
+--------+--------+------------+----------+--------+------+
| Test tabella |
+--------+--------+------------+----------+--------+------+
| | TOTALE | Area geografica |
+--------+--------+------------+----------+--------+------+
| | | Nord Ovest | Nord Est | Centro | Sud |
+--------+--------+------------+----------+--------+------+
| Sì | 46 | 15 | 9 | 14 | 8 |
| No | 86 | 24 | 10 | 16 | 36 |
+--------+--------+------------+----------+--------+------+
| (n.a.) | 4 | 1 | 1 | 0 | 2 |
+--------+--------+------------+----------+--------+------+