Вопросы по теме 'prolog-toplevel'
Определение предикатов в SICStus Prolog/SWI-Prolog REPL
Я читаю http://cs.union.edu/~striegnk/learn-prolog-now/html/node3.html#subsec.l1.kb1 , но у меня возникли проблемы с запуском следующего предиката:
SICStus 4.0.1 (x86-win32-nt-4): Tue May 15 21:17:49 WEST 2007
| ?- woman(mia).
! Existence error...
2298 просмотров
schedule
21.07.2023
как обрабатывать списки пролога?
У меня есть предикат m(L,L) , и я хочу, чтобы он возвращал список, который он принимает. Код такой:
m([],[]).
m([H|T],[H|L]) :- m(T,L).
Когда я пытаюсь использовать его с этим примером:
m([1,2,3,4,5,6,7,8,9,10],L)
Я получаю это как...
430 просмотров
schedule
18.05.2023
Каковы плюсы и минусы использования ручной итерации списка по сравнению с рекурсией через сбой
Я сталкиваюсь с этим все время, и я никогда не уверен, каким образом атаковать это. Ниже приведены два метода обработки некоторых фактов сезона.
Я пытаюсь выяснить, использовать ли метод 1 или 2, и каковы плюсы и минусы каждого, особенно большого...
2096 просмотров
schedule
17.03.2022
Членство в списке пролога, возвращено несколько результатов
У меня есть стандартная процедура определения принадлежности к списку:
member(X, [X|_]).
member(X, [_|T]) :- member(X, T).
Я не понимаю, почему, когда задаю следующий запрос:
?- member(a,[a,b]).
Результат
True;
False.
Я...
3819 просмотров
schedule
04.11.2023
Как изменить «write_options» в прологе, чтобы напечатать длинный список?
По умолчанию SICStus Prolog отображает только первые десять элементов списка (после которых отображается ... ).
Как заставить Prolog отображать все элементы длинного списка? Я пытался:
set_prolog_flag(toplevel_print_options,...
587 просмотров
schedule
21.08.2022
Получите несколько решений в SWI-Prolog
Я новичок в SWI-Prolog (но имею некоторый опыт работы с Borland Prolog), и я столкнулся со странным поведением следующего тестового кода:
test(10).
test(1).
Ожидается, что запрос ?-test(A) получит 2 решения, что-то вроде A = 10; A = 1 ....
5173 просмотров
schedule
28.04.2022
усечение списка: set_prolog_flag(toplevel_print_options, [max_depth(100)]) не имеет эффекта
На все вопросы о том, как отключить усечение списка, был ответ, чтобы использовать некоторые варианты этого:
?- set_prolog_flag(toplevel_print_options, [quoted(true), portray(true), max_depth(100), priority(699)]).
У меня это не работает, см....
157 просмотров
schedule
20.05.2023
Почему `X=1,X=1.` печатает `X=1` вместо `true`
Я изучаю основы Пролога, и мне интересно, почему следующая строка печатает X = 1 вместо true ?
?- X=1,1=X.
X = 1.
--
Первое X=1 в моей команде — это присваивание, а второе будет проверкой на равенство.
57 просмотров
schedule
19.06.2023
Вывод пролога на Mac
У меня проблема с использованием пролога на Mac, я понял, как запустить его с помощью SWI-Prolog, но когда я запускаю его, он выдает ошибку и не дает ожидаемого результата
Ожидаемый результат: Гомер, Барт
male(homer).
male(bart)....
41 просмотров
schedule
04.03.2022