我从 SICStus Prolog 开始,我想定义一个变量,比如 StartingTimes
,以拥有一个由列表 [1, 5, 10]
定义的域
我怎样才能在 SICStus Prolog 中做到这一点?
我会做这样的事情:
domain(StartingTimes, 1, 10)
StartingTimes #= 1 #\/ StartingTimes #= 5 #\/ StartingTimes #= 10
但这太可怕了。必须有一个简单的方法来做到这一点。也许
fd_sets
?注意:我试图找出它是如何在手册中完成的,但序言使用了常用词,因此很难使用谷歌。
最佳答案
?- use_module(library(clpfd)).
?- StartingTimes in {1,5,10}.
关于prolog - 如何将变量域定义为非连续范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16395014/