是否可以延迟赋值操作
Is it possible to delay an assignment operation
我有一个小 script/code,我想施加一些 active
约束。在下面显示的代码中,我有 P[I,J] #= E
并且在下一行 Result[I,E] #= J
但这是抛出一个 instantiation error
因为 E
没有实例化。
对于这些约束,我需要知道 P[I,J]
的值是什么,所以如果我将其写为 E is P[I,J]
那么当然我不会得到 instantiation error(incase i suspend next two constraints with suspend, e.g suspend:(P[I,J] #= E)
但它会影响约束的活动性,因为 assignment
不会被延迟,而只有约束会被延迟。是否有任何替代方法来施加此约束?
multifor([I,J] ,[1,1],[N,N]),param(P,ResultFirst),foreach(E,_) do
E #:: 1..9,
P[I,J] #= E,
(ResultFirst[I,E] #= J),
我有一个小 script/code,我想施加一些 active
约束。在下面显示的代码中,我有 P[I,J] #= E
并且在下一行 Result[I,E] #= J
但这是抛出一个 instantiation error
因为 E
没有实例化。
对于这些约束,我需要知道 P[I,J]
的值是什么,所以如果我将其写为 E is P[I,J]
那么当然我不会得到 instantiation error(incase i suspend next two constraints with suspend, e.g suspend:(P[I,J] #= E)
但它会影响约束的活动性,因为 assignment
不会被延迟,而只有约束会被延迟。是否有任何替代方法来施加此约束?
multifor([I,J] ,[1,1],[N,N]),param(P,ResultFirst),foreach(E,_) do
E #:: 1..9,
P[I,J] #= E,
(ResultFirst[I,E] #= J),