Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 如何在Prolog中返回列表的结果?_List_Prolog_Member - Fatal编程技术网

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).