У меня есть некоторые факты в прологе. Я хочу определить правило, которое будет печатать данные обо всех аминокислотах форматным способом. вот ссылка, что у меня есть факты и некоторые правила, которые я определил сам. но я не могу получить работу по форматированию, я имею в виду, что я не хочу использовать несколько write() и даже форматирование вкладок, которые я не могу приступить к работе. вот моя логика, но она не работает. Я просто хочу создать отчет типа формата. Вот ссылка и код, который я пытался http://swish.swi-prolog.org/p/aminnoo.plформатирование вывода в прологе
> 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']).
но это выходной сигнал, как указано выше
'write' довольно низкий уровень. Вы посмотрели на другие предикаты форматирования вывода SWI? См. SWI Prolog [Отформатированная запись] (http://www.swi-prolog.org/pldoc/man?section=format) – lurker