如何使用tranpose和findall打印谓词中的所有变量

时间:2016-04-04 20:01:56

标签: prolog transpose prolog-findall

我想知道如何使用tranpose和findall列出预测中的所有变量并将其显示为矩阵?

所以这是包含所有变量的谓词。

across(2,4,2,4).
across(2,10,2,4).   
across(3,4,4,12).
across(3,10,2,6).
across(4,3,2,6).
across(4,6,4,10).

1 个答案:

答案 0 :(得分:1)

可能更容易将其存储在谓词中。

getAcross(List) :- findall([A,B,C,D], across(A,B,C,D), List).

因此getAcross(X)会存储[[A,B,C,D],[A,B,C,D]...

的列表

如果您正在谈论转置矩阵,例如,如果您还有下行约束,则可能只需要这样做。 :)