Thread Frage zu Term::TablePrint Option (2 answers)
Opened by Kuerbis at 2018-01-19 14:17

Kuerbis
 2018-01-19 14:17
#187936 #187936
User since
2011-03-20
938 Artikel
BenutzerIn
[default_avatar]
Hallo!



Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
use Term::TablePrint qw(print_table);


my $table = [
[ 1, 'Ruth' ],
[ 2, 'John' ],
[ 3, 'Mark' ],
[ 4, 'Nena' ]
];

print_table( $table, { add_header => 1 } );



Die Option "add_header" ist hässlich (die Spalten heißen dann '1col', '2col', ... ) und ich möchte sie entfernen.

Code: (dl )
1
2
3
if ( $self->{add_header} ) {
unshift @$table_ref, [ map { $_ . 'col' } 1 .. @{$table_ref->[0]} ];
}


Eigentlich wollte ich sie mit der Option "col_names" ersetzen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
if ( @{$self->{col_names}} ) {
my $missing = @{$table_ref->[0]} - @{$self->{col_names}};
if ( $missing > 0 ) {
my $last = pop @{$self->{col_names}};
unshift @$table_ref, [ @{$self->{col_names}}, map { $_ . $last } 1 .. $missing + 1 ];
push @{$self->{col_names}}, $last;
}
else {
unshift @$table_ref, [ @{$self->{col_names}}[ 0 .. $#{$table_ref->[0]} ] ];
}
}


Aber dann habe ich mir überlegt, ob das sinnvoll ist und ich diese Option nicht besser ganz weg lasse und mir eine Liste mit den Vor- und Nachteilen zusammengestellt.
Auf der Nachteile-Seite:


- man muss sich eine Option merken für etwas, das genauso gut ohne diese Option geht: push @table, [ col_names, ... ];
- die übergebenen "Table"-Daten werden ungefragt verändert (eine Reihe hinzugefügt)
- mehr Code
- mehr Dokumention zu lesen

Für die Vorteile-Seite habe ich nichts mehr gefunden.

Kann mir jemand ein paar Gedanken dazu schenken?

View full thread Frage zu Term::TablePrint Option