我试着理解这段代码是如何工作的,但我不能。
prefix(P,L) :- append(P,_,L).
我使用prefix(X,[a,b,c,d]).
这样的查询如果你有时间,可以向我解释它是如何运作的吗?谢谢。
答案 0 :(得分:2)
查看append
,您可以看到
当列表L3是将列表L1和L2连接在一起的结果时,追加(L1,L2,L3)将成立(连接意味着将列表连接在一起,端到端)
所以上面的谓词说某事物是prefix
的东西,如果你可以将任何(即_
)附加到前者并获得后者。
很有道理,不是吗? Prolog很不错。