如何使用连接关系定义成员(X,L)?任何人都可以解释这个方法吗?
concatenate([],L,L).
concatenate([X|L],L2,[X|CL]):-concatenate(L,L2,CL).
给出了连接目标
答案 0 :(得分:1)
在Prolog解释器(命令行,AKA REPL)中尝试使用concatenate / 3对特定查询的行为:
?- L=[1,2,3], concatenate(_,[X|_],L).
这种模式实际上是你需要的......但添加谓词成员/ 2的细节将取决于实际的Prolog实现。
答案 1 :(得分:0)
我称之为member/2
谓词,而不是成员函数,
这听起来像是C++
一词。
这是concat_member/2
:
concat_member( X, Xs ) :- concat( _ , [ X | _ ], Xs ).