假设我有一个变量V
,并且值V
可以是 range 中的任何数字0..5
。但是,某些值比其他值更受欢迎,因此它将帮助我将域指定V
为有序序列。
我可以在 SICStus Prolog 中执行此操作吗?
例子:
% PSEUDOCODE
%
% 3 is more preferred than 4; 4 is more preferred than 2; and so on..
% So I would write something like this:
V in {3,4,2,5,1,0},
getDomainAsList(V, List), % the predicate do not exist
% and the List would be: [3,4,2,5,1,0] and not [1,2,3,4,5]
我阅读了手册,但没有找到任何有用的东西。我可以通过自定义标签来解决问题(即,将 V 的域转换为列表,对其进行排序并将值分配给V
),但我预计性能会更差。