Предикат отображения Prolog XPCE

Привет, у меня есть программа ("экспертная программа"), в которой пользователь выбирает несколько вариантов кнопок, и эта программа выполняет поиск в предикатах автомобилей с установленными параметрами. После этого я хочу отобразить один или несколько предикатов в окне. Это несколько строчек программы. Формат предикатов:

auto(audi,a4,bialy,sedan,120).

auto(audi,a6,czerwony,sedan,160).

И фрагмент, в котором я хочу отобразить:

 X=auto(Marka,_,Kolor,Nadwozie,Km),
send(Cars,append(text(X))),

Я пытаюсь присвоить весь предикат переменной, и, вероятно, не могу. Как я могу просмотреть эти данные по-другому?

РЕДАКТИРОВАТЬ:

Я нашел класс "findall()", который очень помогает:

findall(Model,auto(Marka,Model,Kolor,Nadwozie,Km),X),
send(Cars,append(char_array(X))),

Теперь все в порядке, в консоли работают, но не в XPCE, Prolog ловит ошибку в консоли:

ОШИБКА: [Thread pce] char_array -> инициализация: Аргумент 1 (текст): char_array' expected, found[A2,a3]

И что теперь? Я думаю, что ошибка в "char_array(X)", но почему это не работает?

1 ответ

Может быть, вы можете попробовать

...
with_output_to(atom(X), write(auto(Marka,_,Kolor,Nadwozie,Km))),
send(Cars,append(text(X))),
...
Другие вопросы по тегам