我想从Prolog中制定的规则中获取解决方案列表。
但是,findall谓词似乎只适用于一个变量。
有人可以建议如何解决这个明显的限制吗?
我的规则
beat(P,M,E)
我想要什么
L = [[P,M],[P,M],................]
我现在得到什么
L = [P,P,P,P,.........]
或
L = [M,M,M,M,M.............]
答案 0 :(得分:6)
findall
can work with a surprisingly flexible amount of variations. I think you want something like this:
findall([P,M], beat(P,M,E), L).