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
但我真的不知道它是否正確與否。而且,我不確定這是否是一個正確的方法。
您可以將'member(Val,List),X = Val'縮短爲'member(X,List)'。 – mat