2015-05-26 8 views
0

Я хочу, чтобы этот вывод был в строчном формате. Как это можно сделать?Вывод в форме предложения Пролог

выход я получаю:

[[[[a]|fat]|man],[[[[[was]|walking]|quickly],to],[[[[the]]|end],[of,[[[the]|long]|corridor]]]]] 

Ожидаемый результат:

a fat man was walking quickly to the end of the long corridor 
+1

Что вы пробовали до сих пор? В чем проблема? Вы строите эту структуру данных? Если это так, возможно, что-то со строкой вашего списка пошло не так. –

+0

Спасибо, моя проблема решена. Да, я создаю эту структуру данных. –

ответ

3

Вы можете использовать flatten/2 и atomic_list_concat/3:

:- X = [[[[a]|fat]|man],[[[[[was]|walking]|quickly],to],[[[[the]]|end],[of,[[[the]|long]|corridor]]]]], 
    flatten(X,Y), 
    atomic_list_concat(Y,' ',Z). 
X = [[[[a]|fat]|man], [[[[[was]|walking]|quickly], to], [[[[the]]|end], [of, [[...|...]|...]]]]], 
Y = [a, fat, man, was, walking, quickly, to, the, end|...], 
Z = 'a fat man was walking quickly to the end of the long corridor'. 
+1

Большое вам спасибо. Я начинающий. Это помогло мне решить большую проблему для ожидаемой продукции. Еще раз спасибо. –

+0

О, да. Ред. Еще раз спасибо. –

Смежные вопросы