prolog 中的管道运算符返回一个或多个原子 Heads 和一个 Tail 列表。
?- [a,b,c] = [a,b|[c]].
true.
在单个匹配中嵌套多个管道可以类似于以下方式完成:
?- [a,b,c] = [a|[b|[c]]].
true.
该陈述[a|b|c]
对 a、b 和 c 的推断是什么?
编辑
到目前为止,我能推断的只有:
?- [a,b,c] = [a|b|c].
false.
我对找到答案的任何技术更感兴趣,而不是回答这个边缘无用的问题。
EDIT2
我显然对序言不太熟悉,一个简单的任务回答了我的问题......
?- R = [a|b|c].
R = [a| (b'|'c)].
到底是怎么回事(b'|'c)
?