2013-05-06 47 views
2

我开始与SICStus Prolog的,我想定义一个变量,说StartingTimes,有通过列表[1, 5, 10]如何定义一个变量域是不连续的范围

我该怎么办定义域它在SICStus Prolog中?

我会做这样的事情:

domain(StartingTimes, 1, 10) 
StartingTimes #= 1 #\/ StartingTimes #= 5 #\/ StartingTimes #= 10 

但是,这是可怕的。必须有一个简单的方法来做到这一点。也许fd_sets

注意:我试图找出它是如何在手册中完成的,但prolog使用常见的词语,并且使用google很难。

回答

7
?- use_module(library(clpfd)). 
?- StartingTimes in {1,5,10}. 
+0

谢谢!这就是我一直在寻找的。 – 2013-05-06 12:42:53