Пролог подсчитывает, сколько раз предикат был истинным

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

is_man(john).
is_man(alex).
?:-is_man(X).

X вернет john, затем, если я нажму точку с запятой, он также вернет alex, затем false.

Я хочу построить что-то вроде:

count(is_man(X), Count).

И это, чтобы вернуть

Count = 2

] Как я могу это сделать?

23
задан Victor Blaga 19 May 2011 в 14:30
поделиться