我正在学习prolog,我正试图从我所做的声明中返回一个名单.
例:
person(sam).
person(tom).
person(holly).
Run Code Online (Sandbox Code Playgroud)
我想要归还任何亲自申报的人的姓名.我试过这样做:
people([]).
people([X | XS]) :-
person(X),
people(XS).
Run Code Online (Sandbox Code Playgroud)
它有效,有点,它添加sam到列表,然后sam无限增加而不是切换tom,然后holly然后结束.有人能指出我正确的方向吗?
prolog ×1