List 如何在Prolog中返回列表的结果?
我有一个项目列表,它在一个方法中。我正在使用另一个方法调用列表,但我不想在该方法中输入列表。我怎样才能解决这个问题List 如何在Prolog中返回列表的结果?,list,prolog,member,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)). k首先将列表与变量
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)).
k首先将列表与变量关联,然后在
member()中使用它。
:
在Prolog中,规则不返回值。它们检查(如果变量已与值关联或已传递常数)或关联(如果已传递变量尚未关联)首先将列表与变量关联,然后在
成员()中使用它:
在Prolog中,规则不返回值。他们检查(如果变量已与值关联或已传递常量)或关联(如果已传递的变量尚未关联)他们在prolog中没有方法,只有谓词。他们在prolog中没有方法,只有谓词。感谢回复。在本节中遇到了困难。@kkbum,您也可以将列表作为参数传递给hi
。定义hi(列表):-read(X),member(X,List)。
,您可以在查询hi
之前查询列表:foo(列表),hi(列表)
。什么方法最有效取决于您的用例。谢谢您的回复。在本节中遇到了困难。@kkbum,您也可以将列表作为参数传递给hi
。定义hi(列表):-read(X),member(X,List)。
,您可以在查询hi
之前查询列表:foo(列表),hi(列表)
。哪种方式最有效取决于您的用例。
hi:- read(X),foo(Y), member(X,Y).