Я пытаюсь выучить основы Пролога для класса. Я сталкиваюсь с на первый взгляд простой проблемой невозможности сохранить список в правиле и извлечь его для использования в других разделах. Например:
% 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]).}?