例如:
isin([1,2,3], [1,0,1,2,3,0])
将产生真实,因为123
在里面101230
我写了以下代码:
isin([AH|AT],[AH|AT]). isin([AH|AT],[BH|BT]):- AH = BH, isin(AT,BT),isin([AH|AT],BT).
似乎不起作用.尽量不要使用任何内置功能和BTW,Prolog有内置sublist(L1,L2)
功能.
如何使用SWI-Prolog针对内置函数编写查询?我试着直接写
?- sublist([1],[2]).
但它给了我underfined procedure
错误.
是否可以看到内置函数是如何编码的?怎么样?
sublist( [], _ ). sublist( [X|XS], [X|XSS] ) :- sublist( XS, XSS ). sublist( [X|XS], [_|XSS] ) :- sublist( [X|XS], XSS ).