为什么在Picat列表理解中的列表前$是?

时间:2019-07-09 06:26:08

标签: picat

“皮卡特”页面将其作为n-皇后的谓词

queens(N, Q) =>
  Q = new_list(N),
  Q :: 1..N,
  all_different(Q),
  all_different([$Q[I]-I : I in 1..N]),
  all_different([$Q[I]+I : I in 1..N]),
  solve([ff],Q).

我不理解列表理解中的$之前的Q。如果Q是一个结构,那将是有道理的。但是Q是一个列表。

谢谢。

更新。我只是尝试在整个表达式上加上括号:$(Q[I]-I)$(Q[I]+I)。没有错误消息,并且程序正常运行。这是否意味着$打算引用整个表达式,直到执行列表理解为止?

0 个答案:

没有答案