在 Prolog 中格式化表格

标签 formatting prolog

我正在尝试在 Prolog 中打印出一个值表。目前我有以下内容:

format('+~`-t~78|+ ~n', []).
format('|~tTable Title~t~78||~n', []),
format('+~`-t~78|+ ~n', []).

生成我的标题:

+-----------------------------------------------------------------------------+ 
|                                 Table Title                                 |
+-----------------------------------------------------------------------------+ 

现在我想填充一些列以在下方生成以下格式

+-----------------------------------------------------------------------------+ 
| Name                 | Age      | Eye Colour        | Phone Number          |
+-----------------------------------------------------------------------------+ 
| Joe Bloggs           | 21       | Blue              | 01234567890           |
+-----------------------------------------------------------------------------+ 
| John Smith           | 32       | Brown             | (+44) 012345678       |
+-----------------------------------------------------------------------------+ 

我尝试了多种均匀分布列的方法。但是这段代码:

format('| ~s~t~28|| ~s~t~8|| ~s~t~20|| ~s~t~24||~n', 
                              ['Name', 'Age', 'Eye Colour', 'Phone Number']).

给我不均匀的列,这些列的间距不是很好。

+-----------------------------------------------------------------------------+ 
| Name                      | Age| Eye Colour| Phone Number|
+-----------------------------------------------------------------------------+ 

这方面的文档有点令人困惑,我似乎无法理解它,所以我们将不胜感激!

最佳答案

你可以用~+做相对列:

?- format('| ~s~t~28|| ~s~t~8+| ~s~t~20+| ~s~t~24+|~n', 
                              ['Name', 'Age', 'Eye Colour', 'Phone Number']).
| Name                      | Age   | Eye Colour        | Phone Number          |
true.

关于在 Prolog 中格式化表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9488307/

相关文章:

html - 如何在 Sublime Text 3 中格式化 HTML

python - 如何在 Python 中控制 string.format(bool_value) 结果的长度?

javascript - Kendo UI 货币格式

Prolog - 数组数组,返回数组长度大于一的条目

prolog - 覆盖 Prolog 中预定义的谓词

python - 如何正确格式化Python代码结构?

mysql - 在用户定义的函数(mysql)中格式化日期

Prolog:如何捕获术语或模式匹配的整个结果

prolog - Prolog 中的 Hello world

loops - Prolog 循环遍历变量结果