Ric*_*ard 3 nested list prolog member
我想检查是否x是嵌套列表的成员,以便
member(x,[a,b,[c,d],[e,[f,g],[x,i]]])
Run Code Online (Sandbox Code Playgroud)
返回True,False如果没有x。这有可能吗?
member通过添加一个检查项目是否是第一个元素的成员的子句,简单地扩展正常的递归定义:
member(X, [X|_]). %X is first element
member(X, [L|_]) :- member(X, L). %X is member of first element
member(X, [_|T]) :- member(X, T). %X is member of tail
Run Code Online (Sandbox Code Playgroud)