|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alexander Kostiuchenko 2:463/672.419 05 May 2002 00:19:02 To : Vladimir Korablin Subject : рендеринг таблицы -------------------------------------------------------------------------------- Как-то раз (а точнее 04 May 02 в 12:51) Artem Chuprina писал(а) к Vladimir Korablin: VK>> Хочется её красиво отрендерить в текст, чтобы было примерно так: VK>> =========== begin _Windows Clipboard_ ============= VK>> +-------+--------+-------+ VK>> | first | second | third | VK>> +-------+--------+-------+ VK>> | 1 | 2 | 3 | [...skipped...] VK>> use what? Data::ShowTable или как-то так AC> use what, не знаю. Hо решать умею... для случая, когда ширина таблицы жестко задана, а не формируется исходя из кол-ва и длины заголовков колонок: my @table = ( [1,2,3], [234,234,90] ); my @headers = qw(first second third); my $cols = scalar @headers; my $max_width = 60; my $col_width = int(($max_width-2-$cols) / $cols); my $line = (('+' . ('-' x $col_width)) x $cols) . "+\n"; my $format = ('|%' . $col_width . 's') x $cols . "|\n"; my $outf = $line . $format . $line . ($format x scalar @table) . $line; printf $outf,@headers,map {@{$_}} @table; Если выравнивать реально надо по левому краю - ставишь '-' перед % в $format. 2All: а вообще традиционно для подобного format/write юзались... интересно, кто-нить сейчас этим пользуется ? -- mailto: random at info.net.ua //Александр * Origin: useless (2:463/672.419) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/40293cd47ce9.html, оценка из 5, голосов 10
|