我在GNU-Prolog中有一个这个结构的列表:
[[1|5], [1|6], [2|6], [3|6]]分别提取每个子列表中的数字的最佳方法是什么?由于管道的原因,我不能统一每个术语,除非我遗漏了什么。任何帮助都是很好的;我对Prolog非常陌生,也没有在网上找到太多关于这个问题的信息
发布于 2018-02-26 15:19:33
然后我在控制台(SWI)中尝试了这一点。这有帮助吗?
?- [1|2]=..A.
A = ['[|]', 1, 2].
?- [1|2]='[|]'(A,B).
A = 1,
B = 2.
I mean matching like
[1|2]='[|]'(A,B).
will succeed.发布于 2018-02-26 11:18:28
通常,|运算符的右侧应该是一个列表(包括空列表[])。你应该这样写:
[[1|[5]], [1|[6]], [2|[6]], [3|[6]]]或者简单地说
[[1,5],[1,6],[2,6],[3,6]]https://stackoverflow.com/questions/48979265
复制相似问题