Syntax Prolog格式语法错误

Syntax Prolog格式语法错误,syntax,prolog,format,clpfd,Syntax,Prolog,Format,Clpfd,我的格式行出现语法错误,我不知道为什么 magic3(Variables):- Variables[A,B,C,D,E,F,G,H,I], fd_domain(Variables,1,9), fd_all_different(Variables), A+B+C #= A+D+G, A+B+C #= A+E+I, A+B+C #= C+F+I, A+B+C #= B+E+H, fd_labeling(Variables), format("A=

我的格式行出现语法错误,我不知道为什么

magic3(Variables):-
   Variables[A,B,C,D,E,F,G,H,I],
   fd_domain(Variables,1,9),
   fd_all_different(Variables),
   A+B+C #= A+D+G,
   A+B+C #= A+E+I,
   A+B+C #= C+F+I,
   A+B+C #= B+E+H,
   fd_labeling(Variables),
   format("A=~w, B=~w, C=~w~n, D=~w, E=~w, F=~d~w, G=~w, H=~w, I= ~w", Variables).
代码打印出来了

A B C
D E F
G H I
所有行和列相加时相等
我不明白为什么会出现语法错误。

在一些系统中,您需要在文件/模块的开头添加以下内容:

:- use_module(library(clpfd)).
作为一个小小的改进,您可以引入sum
S

S #= A+B+C,
S #= D+E+F, % this too!
S #= G+H+I,
....
更好的是,你现在可以用is(1+2+…+9)/3=15来计算总和。所以加上
S#=15
。对于实际的贴标签过程有一个简单的描述


进一步:

Variables[A,B,...]
应该读

Variables = [A,B,...]

这并没有解决我的问题。我以同样的方式制作了其他文件,但没有包括:-使用模块(库(clpfd))。我没有收到错误。@OneBadbagins:啊,看来你在使用GNU Prolog。无论如何,请参见上面的编辑.BOOM!很好,哈哈,缺少等号就是问题所在!