Prolog 中具有多个变量的 Findall
Findall with multiple variables in Prolog
我想从我在 Prolog 中制定的规则中获取解决方案列表。
然而,findall 谓词似乎只适用于一个变量。
谁能建议如何绕过这个明显的限制?
我的规则
beat(P,M,E)
我想要什么
L = [[P,M],[P,M],................]
我现在得到的
L = [P,P,P,P,.........]
或
L = [M,M,M,M,M.............]
findall
可以处理非常灵活的变化。我想你想要这样的东西:
findall([P,M], beat(P,M,E), L).
我想从我在 Prolog 中制定的规则中获取解决方案列表。
然而,findall 谓词似乎只适用于一个变量。
谁能建议如何绕过这个明显的限制?
我的规则
beat(P,M,E)
我想要什么
L = [[P,M],[P,M],................]
我现在得到的
L = [P,P,P,P,.........]
或
L = [M,M,M,M,M.............]
findall
可以处理非常灵活的变化。我想你想要这样的东西:
findall([P,M], beat(P,M,E), L).