如何在Prolog中返回列表的结果?

时间:2017-11-12 10:03:09

标签: list prolog member

我有一个项目列表,这是一个方法。我正在使用另一种方法来调用列表,但我不想在该方法中输入列表。我该如何解决这个问题?

foo([a,b,c,d,e]).   
hi:- read(X),member(X,[a,b,c,d,e]).

?- hi.
|: a.
true.

我想使用foo(X)更改go(X)中的列表,但它不起作用。我知道foo(X)返回[a,b,c,d,e]。

foo([a,b,c,d,e]).   
hi:- read(X),member(X,foo(X)).

ķ

1 个答案:

答案 0 :(得分:2)

首先使用变量关联列表,然后在member()中使用它:

hi:- read(X),foo(Y), member(X,Y).
Prolog规则中的

不返回值。他们检查(如果变量已经与值或常量相关联)或关联(如果传递的变量尚未关联)