Как мне сохранить и получить доступ к списку в переменной в Прологе? - PullRequest
0 голосов
/ 05 октября 2010

Я пытаюсь выучить основы Пролога для класса. Я сталкиваюсь с на первый взгляд простой проблемой невозможности сохранить список в правиле и извлечь его для использования в других разделах. Например:

% These are the contents of the pl file I want to consult

% Numbers I want to process
inputList([3,2,1,0]).

% Prints out the contents of a list
printList([First | Tail]) :- 
    write(First),nl,
    printList(Tail).

Что я хочу сделать, так это позвонить в Пролог:

?- inputList(X).
?- printList(X).

Цель состоит в том, чтобы избежать постоянного ввода длинных списков в интерпретатор Prolog и хранить их в файле .pl. Тем не менее, ввод команд, приведенных выше, приводит к тому, что список не будет должным образом проверен по данному предложению. Как это можно сделать, предпочтительно используя структуру выше для хранения списка {listContents ([a, b, c, d]).}?

1 Ответ

0 голосов
/ 06 октября 2010

Я думаю, вам нужно изменить ваш вызов в Прологе на

?- inputList(X), printList(X).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...