小编Yop*_*per的帖子

从事实中返回名称列表

我正在学习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

3
推荐指数
1
解决办法
138
查看次数

标签 统计

prolog ×1