首页 > 解决方案 > 如何通过在 Prolog 中创建这些整数的列表来查询两个值之间的整数?

问题描述

例如,如果我进行类似 的查询between(A,4,7),我会期望类似A = [4,5,6]. 这可能吗?

标签: prolog

解决方案


?- bagof(A, between(4,7,A), All).
All = [4, 5, 6, 7].

这使用了 SWI-Prolog 的内置between/3,这似乎与您的定义略有不同。

您还可以使用 setof/3 来确保结果是有序的——bagof/3将根据betweeen/3.


推荐阅读