2013-05-19 5 views
2

manual에 술어 indomain/1이 있는데,이 변수는 백 트랙킹을 통해 증가하는 순서로 변수에 값을 지정합니다 (X라고 함).CLPFD에서 변수에 값을 할당하는 방법은 무엇입니까?

사용자 지정 레이블 조건자를 작성하려고 할 때 변수 X에 할당 된 값의 순서를 변경하고 싶습니다. 나는이 코드를 생각해 냈다 :

fd_set(X, X_as_set), 
fdset_to_list(X_as_set, X_as_list), % now I have domain of the variable X in form of a list 
% sort X_as_list in some way and return the changed list as X_as_list2 
member(Val, X_as_list2), 
X = Val % assign value to CLPFD variable 

그러나 그것이 맞는지 아닌지 나는 정말로 모른다. 더구나, 나는 그것을하는 적당한 방법다는 것을 확실하지 않다.

+1

'member (Val, List), X = Val'을'member (X, List)'로 단축 할 수 있습니다. – mat

답변

4

이렇게하면 아주 좋은 방법입니다.

관련 문제