提问人:Avrohom Yisroel 提问时间:3/26/2023 最后编辑:falseAvrohom Yisroel 更新时间:3/27/2023 访问量:81
CLPFD Prolog 的“语法错误:需要运算符”
"Syntax error: Operator expected" with CLPFD Prolog
问:
我正在阅读 The Power Of Prolog,并且已经了解了 Collatz 序列的部分。
我从那里复制并粘贴了代码,在之前添加了适当的行......use_module
use_module(library(clpfd)).
hailstone(N, N).
hailstone(N0, N) :-
N0 #= 2*N1, % Error
N0 #> 1, % ensures termination
hailstone(N1, N).
hailstone(N0, N) :-
N0 #= 2*_ + 1, % Error
N0 #> 1, % ensures termination
N1 #= 3*N0 + 1,
hailstone(N1, N).
但是,当我尝试编译它时,在上面注释的两行上收到错误“hailstone.pl:nn:10:语法错误:预期运算符”。
有人知道错误是什么,为什么我会得到它吗?正如你所看到的,我包括了 CLPFD 模块,所以它应该被识别为一个运算符。#=
我尝试使用代替第一行,但没有任何区别。library(clpfd).
我正在使用 SWI-Prolog,以防它有任何区别。谢谢。
答: 暂无答案
评论
:- use_module...
?- hailstone(1, N).