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 |
8c6c2a97a0f80876aa523a45fdcfd37685f2445a | 48 | https://github.com/grsjst/print_table.git | |
feb183df501e2e17dcf8323ce396c5f4156fc7be | 1 | 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.