我想检查 x
是否是嵌套列表的成员,所以
member(x,[a,b,[c,d],[e,[f,g],[x,i]]])
返回True
,如果没有x
则返回False
。这有可能吗?
最佳答案
通过添加一个检查项目是否是第一个元素的成员的子句来扩展正常的递归 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
关于list - 检查某些东西是否是 Prolog 中嵌套列表中的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19748047/