我可以用这种方式指定变量的域:
MyVar in 1..10
或
MyVar in {1,10,15}
但是我有一个我想要指定的变量:
Activity_1__room in {room_1, room_2} % i.e. as atoms not as integers
有可能吗?当然,可以将名称编码为整数,但这是否真的有必要?
答案 0 :(得分:7)
你不能使用原子。 CLPFD中的域范围超过整数。
但是假设您想说“MyVar应该采用列表L的一个值”,即该集合不是先验已知的。这可以编码为:
?- list_to_fdset(L, Set),
MyVar in_set Set.