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 |
+--------+--------+------------+----------+--------+------+