List 是否根据规则将元素添加到列表?

List 是否根据规则将元素添加到列表?,list,List,我理解它允许编写许多事实并创建一个可能性树-是否可以这样做: 我想根据规则返回true还是false向列表中添加值 有人能给我看一些小代码来解释这个吗 谢谢假设您想生成一个包含所有凡人的列表。可以使用以下代码执行此操作: % facts human(victor). human(peroni). human(hugo). % rule mortal(X) :- human(X). % add X to a list only if rule mortal(X) is tr

我理解它允许编写许多事实并创建一个可能性树-是否可以这样做:

我想根据规则返回true还是false向列表中添加值

有人能给我看一些小代码来解释这个吗


谢谢

假设您想生成一个包含所有凡人的列表。可以使用以下代码执行此操作:

% facts  
human(victor).
human(peroni).
human(hugo).

% rule
mortal(X) :-
        human(X).

% add X to a list only if rule mortal(X) is true.
add(X,L,[X|L]) :-
        mortal(X).
示例

? add( victor, [hugo], Result).
Result = [victor, hugo].

? add( peroni, [], Result).
Result = [peroni].
请回答前面的问题。写答案被认为是礼貌。