我在prolog中有一些事實。我想定義一個規則,以打印的方式打印所有氨基酸的數據。這裏是鏈接,我有事實和一些我定義自己的規則。但我無法獲得格式化工作,我的意思是我不想使用多個write(),甚至是我無法使用的標籤格式。這是我的一些邏輯,但它不工作。我只想生成一個格式的報告。這裏是鏈接和代碼,我試圖http://swish.swi-prolog.org/p/aminnoo.plprolog中的輸出格式
> aminoname(_,H,ShortName),
>
> write(H),
> write(ShortName),nl, /* write(ShortName),
>
> %display [Hydropathy value]
> %format:aminoclass('Ala','Hydropathy','hydrophobic').
> aminoclass(ShortName,'Hydropathy',HydropathyValue),
> write(HydropathyValue),
>
> %display [Volume]
> %format:aminoclass('Ala','Volume','very small').
> aminoclass(ShortName,'Volume',VolumeValue),
> write(VolumeValue),
>
> %display [chemical value
> %format:aminoclass('Ala','Chemical','aliphatic').
> aminoclass(ShortName,'Chemical',ChemicalValue), write(ChemicalValue),nl,
> listAminoAcidProperties(T).*/
> listAminoAcidProperties(T).
我想在這種格式
+-----------------------------------------------------------------+
| name | age | color | something |
-------------------------------------------------------------------
| xyz | 56 | hgchc | var |
-------------------------------------------------------------------
我使用此代碼:
format('+~`-t~78|+ ~n', []),
format('|~tTable Title~t~78||~n', []),
format('+~`-t~78|+ ~n', []).
format('| ~s~t~28|| ~s~t~36|| ~s~t~56|| ~s~t~80||~n',
['Name', 'Age', 'Eye Colour', 'Phone Number']).
但按上面定義的無價輸出
'寫'是相當低的水平。你看過SWI的其他輸出格式謂詞嗎?請參閱SWI Prolog [格式化寫入](http://www.swi-prolog.org/pldoc/man?section=format) – lurker