Как получить значения предиката - PullRequest
0 голосов
/ 17 сентября 2011

Например, у меня есть:

pos(10, 20).

Как мне написать предикат, который возвращает первый положительный член (10).

 get_pos_x(Pos) :- % should return the first pos param(10).

Пример работы:

get_pos_x(pos(10,20)) :- % should write 10.

1 Ответ

2 голосов
/ 17 сентября 2011

Существует разница между предикатом pos(10, 20). и term pos(10, 20).

Для предиката быть кодом:

pos(10, 20).

И это будет выполнение кода:

:- pos(X, 20), write(X), nl.

Для члена это будет код:

get_pos_x(pos(X, _)) :-
    write(X), nl.

И это будет выполнение кода:

:- get_pos_x(pos(10, 20)).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...