| Did you know ... | Search Documentation: | 
|  | Packs (add-ons) for SWI-Prolog | 
| Title: | Formats and prints a table on the terminal screen | 
|---|---|
| Rating: | Not rated. Create the first rating! | 
| Latest version: | 0.0.5 | 
| SHA1 sum: | feb183df501e2e17dcf8323ce396c5f4156fc7be | 
| Author: | Jozef Geurts http://joostgeurts.com/ | 
| Home page: | https://github.com/grsjst/print_table | 
No reviews. Create the first review!.
| Version | SHA1 | #Downloads | URL | 
|---|---|---|---|
| 0.0.5 | 8a0cb68318ab1d13e6b84835639cd6e907940024 | 1 | https://github.com/grsjst/print_table.git | 
| feb183df501e2e17dcf8323ce396c5f4156fc7be | 1 | https://github.com/grsjst/print_table.git | |
| 8c6c2a97a0f80876aa523a45fdcfd37685f2445a | 52 | https://github.com/grsjst/print_table.git | 
print_table is a Pack for SWI-Prolog (https://www.swi-prolog.org/) that formats and prints a Table on the terminal sreen .
These are few examples:
?- Data = [_{a:11,b:0.001,c:13},_{a:21,b:2.12,c:23},_{a:31,b:12.1111,c:33}],
        print_table(Data,[b,c,a],_{b:_{align:right,format:"~2f"}},"Table",mysql,30).
%       Table (3 records)
%      +-------+----+----+
%      |   b   | c  | a  |
%      +-------+----+----+
%      |  0.00 | 13 | 11 |
%      |  2.12 | 23 | 21 |
%      | 12.11 | 33 | 31 |
%      +-------+----+----+
?- Data = [_{bla:"bla, bla, bla",duh:"duh!",ehm:"ehm..."},_{bla:"bladibla",duh:"di di duh",ehm:"ehmmmm ehhhhmmmm"}],
                        print_table(Data,[ehm,bla,duh],_{},"Table",unicode,40).
%            Table (2 records)
%     ┌───────────┌──────────┌───────┐
%     │    ehm    │   bla    │  duh  │
%     └───────────┼──────────┼───────┘
%     │ ehm...    │ bla,     │ duh!  │
%     │           │ bla, bla │       │
%     └───────────┼──────────┼───────┘
%     │ ehmmmm    │ bladibla │ di di │
%     │ ehhhhmmmm │          │ duh   │
%     └───────────┴──────────┴───────┘
pack_install(print_table).
In your SWIPL programme include the directive:
:- use_module(print_table).
In the file `examples\demo.pl` a number of demos are provided
:- ['./examples/demo.pl']. % loads the demo :- test_table1(a). % runs demo a :- test_table1(b). % runs demo b
See the pldoc documentation for additional information
prolog/print_table.pl - the print_table module prolog/wrap_text.pl - wraps an arbitrary text into lines that do not exceed the specified length examples/demo.pl - a number of examples tests/test_wrap.pl - unit tests for the wrap_text module
Similar to print_table, the pack clitable (see https://www.swi-prolog.org/pack/list?p=clitable) allows for pretty printing a Table structure. However, it doesn't format the table within the available space.
The performace is influenced by the number of rows in the table.
Pack contains 8 files holding a total of 44.3K bytes.